取DataGrid当前行,为何总返回前一次操作行的内容,帮忙解答一下,谢先。
ado+access得到数据集,将它绑定到DataGrid,偶用一文本框调试当前行数据内容,总是得到前一次的单击内容,郁闷,这是DataGrid的bug吗?请大哥们看一下:
Private Sub grdDataGrid_Click()
Dim i As Long, iRow As Long, iCol As Long
Dim A()
Dim S As String
iRow = grdDataGrid.Row '当前行
iCol = grdDataGrid.Columns.Count '总列数
ReDim A(0 To iCol) '存放获得当前行中的表格内容
grdDataGrid.Row = iRow '指定当前行
S = ""
For i = 0 To iCol - 1
grdDataGrid.Col = i
A(i) = grdDataGrid.Text
S = S & A(i) & vbCrLf
Next
Text1.Text = S
End Sub
问题点数:100、回复次数:10Top
1 楼daisy8675(莫依 沉迷)回复于 2005-04-04 18:06:05 得分 20
我试了你的代码没有问题,但是你写的好复杂。
一个简单的。
with me.datagrid
text1.text=rs(0)& rs(1) & rs(2)‘...把你字段都写上或者循环到最后一个字段
end with
这样一句话就解决了嘛^0^
Top
2 楼xm2005(哪有经典代码?)回复于 2005-04-04 18:18:30 得分 0
偶仅想知道“取DataGrid当前行”为何“记录指针”总会“故意”慢一拍,例如先点击18行,再点击20行,此时S得到的却是18行数据(本应该20行呀),代码嘛是不够优化,重心不在这,嘻嘻。Top
3 楼daisy8675(莫依 沉迷)回复于 2005-04-04 18:24:02 得分 10
问题是,我测试了你那段代码,没这个现象,呵Top
4 楼Gutta(冯大狂)回复于 2005-04-04 18:25:30 得分 30
和Datagrid绑定的记录集会随着Datagrid的焦点行而移动。
当然,首先响应的是datagrid,然后才是记录集对象Top
5 楼xm2005(哪有经典代码?)回复于 2005-04-04 18:27:36 得分 0
那就怪了,更加郁闷,还有人测试了吗?Top
6 楼chendjin(蹭分来了)回复于 2005-04-05 11:40:50 得分 10
测试了,果然记录指针会“故意”慢一拍,期待解答。
Top
7 楼chendjin(蹭分来了)回复于 2005-04-05 11:47:21 得分 15
用ADO 统计示例(来自http://www.mndsoft.com/blog/blogview.asp?logID=169)测试了一下,没有改动代码,也存在这个问题,确实怪。建议搂主换其他表格控件。Top
8 楼china4269(城市稻草人)回复于 2005-04-05 11:59:29 得分 5
偶刚刚接触vb,看了你这段代码,有一个地方没有看懂,希望能详细说明一下,谢谢
不懂的地方: S = S & A(i) & vbCrLf
什么意思?Top
9 楼taosin()回复于 2005-04-05 12:59:32 得分 10
以前我都遇到过这样的问题!Top
10 楼xm2005(哪有经典代码?)回复于 2005-04-05 19:56:14 得分 0
china4269(城市稻草人):
S = S & A(i) & vbCrLf'用&连接字符串,vbCrLf=回车换行,vb自定义常熟,查msdn。
'---------------------------------------------------------------------
看来这问题没有解了,高手们都没有露面哟。哎,算了,不等了,今晚结帖。Top




