关于MSHFlexGrid控件的一个疑问??我现在做用MSHFlexGrid控件做了一个数据库的链接。当我点击MSHFlexGrid的
关于MSHFlexGrid控件的一个疑问??
我现在做用MSHFlexGrid控件做了一个数据库的链接。当我点击MSHFlexGrid的某一行时,使数据显示在文本框中。但现在遇到一个奇怪的问题(以前用的时候从来没遇到过)。
当我点击某一行的时候,文本框里显示的是前一行的内容。也就是说我点击鼠标第3行时显示的是第2行的内容。这样有个问题就是最后一行总显示不了。这是什么原因啊。
有遇到过这样现象的朋友吗?怎么解决啊!
很着急,在线等!
Private Sub MSHFlexGrid1_Click()
for i= 1 to 10
text1(i).text= MSHFlexGrid1.TextMatrix(MSHFlexGrid1.Row, i)
next
[解决办法]
mshflexgrid1控件是从第0行开始算的
[解决办法]
看看第0行是不是设置成.fixedrows固定行了
[解决办法]
VB code
Private Sub MSHFlexGrid1_Click()
dim i as long
dim r as long
r=MSHFlexGrid1.MouseRow
for i= 1 to 10
text1(i).text= MSHFlexGrid1.TextMatrix(r, i)
next
end sub
[解决办法]MSHFlexGrid1.MouseRow就是鼠标当前行,如果没有其它代码,还不实现你的要求,你删除了这个控件重新添加一个默认属性下试一下....
[解决办法]试试refresh一下。
绑定的米用过。
[解决办法]用法有问题。
1 MSHFlexGrid 是个显示控件,不会更改你的数据,所以没有必要关闭绑定连接。
Private Sub Form_Load()
Call Link
rs.Open "select * from 表1", cn, adOpenKeyset, adLockOptimistic
Set MSHFlexGrid1.DataSource = rs
' rs.Close
' cn.Close
' Set rs = Nothing
' Set cn = Nothing
End Sub
2 利用绑定,单击单元格后,数据游标会自动迁移,你可以直接从记录集中取数据,不必重新查询。
Private Sub MSHFlexGrid1_RowColChange()
For i = 0 To 8
Text1(i).Text = rs.Fields(i)
Next
End If
[解决办法]打SP6补丁,没打SP6补丁的MSHFlexGrid是有问题的
[解决办法]此前我也遇到我MSHFlexGrid莫名其妙的问题,后来打上了补丁,解决了,你可以试一试
[解决办法]单步调试下MSHFlexGrid.Row,看看数值在哪里发生了变化
[解决办法]这个控件绑定数据库的时候,如果RecordSet里面一条记录都没有,就会出现稀奇古怪的问题
一个BUG