如何正确的读取datagrid当前行的某一列数据(不是你们想象的那么简单哦)

wanghuajie0001 2005-09-04 08:44:57
具体是这样的

我用鼠标点击datagrid某一行的数据,想把点的那一行中的某一列数据读出来(读到几个text中给用户修改用)
但是每次读到的都是前一次读取的行,而不是当前行
举个例子,一开始当前行是第一行,我点了第三行读取的是第一行的列值,在点第五行读到的是第三行的列值。。。。郁闷阿

我用的是datagrid的click事件,用dblick就没反应了
读取的函数是 datagrid.columns(0).value(没问题的)

好郁闷阿,怎么解决呢??
...全文
348 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yttlovezxx 2005-11-21
  • 打赏
  • 举报
回复
对象不是源自动事件
/////////
northwolves(狼行天下) (
还想懒够 2005-09-04
  • 打赏
  • 举报
回复
Me.DataGrid1.Columns(列索引).CellText (Me.DataGrid1.GetBookmark(行代码))
northwolves 2005-09-04
  • 打赏
  • 举报
回复

Private Sub DataGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
Dim i As Integer, x() As String
ReDim x(DataGrid1.Columns.Count - 1)
For i = 0 To UBound(x)
x(i) = "Colums(" & i + 1 & "): " & CStr(DataGrid1.Columns(i).Text)
Next
MsgBox Join(x, vbCrLf)
End Sub
wanghuajie0001 2005-09-04
  • 打赏
  • 举报
回复
我这样可以的
datagrid1.resource=recordset

不过事件选的不对的
应该用RowColChange事件,而不是click事件
应为系统先处理 click事件 在把焦点转移到新选中的行,最后才处理RowColChange的

还是谢谢大家,保留2天,给大家看看
然后我揭帖,给两位分

daisy8675 2005-09-04
  • 打赏
  • 举报
回复
对datagrid的应用方面记住一点:对datagrid的操作实际上是对recordset操作

当你点到当前行的时候,实际上是一个recordset 进行move的操作,你可以用msgbox rs(0) rs(1)...这个读出来
Andy__Huang 2005-09-04
  • 打赏
  • 举报
回复
你直接讀取datagrid控件裡的數據是不行的,你應該把ado控件與datagrid綁定起來,然後讀取ado控件數據才正確

象你的那種情況我也試過了,不行的

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧