在vb6.0datagrid控件中 怎么把鼠标单击的记录显示在text上
2个回答
展开全部
ick()
if datagrid.RowSel <> -1 Then
Text1.Text = datagrid.TextMatrix(datagrid.RowSel, 1)
Text2.Text = datagrid.TextMatrix(datagrid.RowSel, 2)
Text3.Text = datagrid.TextMatrix(datagrid.RowSel, 3)
end if
End Sub
首先,要达到你的目的,应该将代码写在datagrid的单击事件里进行处理。在单击事件里,datagrid.RowSel可以获得当前所点击的行,根据行号和列号,可以具体定位到某一单元格。这样就能获取点击的行中的任何一单元格的内容,也能同时获得整个行的内容。这段程序中的IF语句,主要是防止程序出错,也就是当点击datagrid,但是点击的不是数据行,点击的是表身时,就会出错,所以才会用这个IF语句。
我现在在家里手动写的代码,有一点我不能确定的是:当未选中数据行时,datagrid.RowSel到底返回的是-1还是0,这个我记不清楚了,如果datagrid.RowSel返回的是0的话,你就将IF语句改成if datagrid.RowSel <> 0 Then好了。
希望能帮你解决问题。
if datagrid.RowSel <> -1 Then
Text1.Text = datagrid.TextMatrix(datagrid.RowSel, 1)
Text2.Text = datagrid.TextMatrix(datagrid.RowSel, 2)
Text3.Text = datagrid.TextMatrix(datagrid.RowSel, 3)
end if
End Sub
首先,要达到你的目的,应该将代码写在datagrid的单击事件里进行处理。在单击事件里,datagrid.RowSel可以获得当前所点击的行,根据行号和列号,可以具体定位到某一单元格。这样就能获取点击的行中的任何一单元格的内容,也能同时获得整个行的内容。这段程序中的IF语句,主要是防止程序出错,也就是当点击datagrid,但是点击的不是数据行,点击的是表身时,就会出错,所以才会用这个IF语句。
我现在在家里手动写的代码,有一点我不能确定的是:当未选中数据行时,datagrid.RowSel到底返回的是-1还是0,这个我记不清楚了,如果datagrid.RowSel返回的是0的话,你就将IF语句改成if datagrid.RowSel <> 0 Then好了。
希望能帮你解决问题。
追问
我已经试过了,无法实现
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询