vb 中的MSHFlexgrid控件怎么实现双击其中的一行就能在窗体中显现那一行的具体内容
Private Sub vsflexgrid1_afterScroll(ByVal oldTopRow As Long, ByVal oldLeftCol As Long, ByVal NewTopRow As Long, ByVal NewLeftCol As Long)Dim restdata As New adodb.Recordset
if restdata.RecordCount >10 then '当总行数大于10时
If NewTopRow oldTopRow Then
Me.vsflexgrid2.TopRow = NewTopRow - 1
End Ifend if
End Sub
假设MSHFlexGrid控件名为mfg1:
在mfg1_DblClick事件中,用mfg1.row属性获取所选的行,再用mfg1.textmatrix(行,列)获取对应单元格的内容,将其存入各个对应文本框中就行了。
Private Sub MSHFlexGrid1_DblClick()
Dim i As Long
Text1 = ""
With MSHFlexGrid1
For i = 0 To .Cols - 1
Text1 = Text1 & .TextMatrix(.Row, i) & ", "
Next
End With
End Sub
Private Sub MSHFlexGrid1_DblClick()
msgbox MSHFlexGrid1.TextMatrix(MSHFlexGrid1.RowSel, 1) '显示双击那行的第一列内容
End Sub
看不懂啊,能详细点吗,谢谢
Private Sub MSHFlexGrid1_DblClick()
Dim i As Long
Text1 = "" ‘Text1 是个文本框控件,这里先清空它
With MSHFlexGrid1 '这行到 End With 那行之间,那些带点 "." 的自动加上MSHFlexGrid1,例如 .Cols 变成 MSHFlexGrid1.Cols
For i = 0 To .Cols - 1
Text1 = Text1 & .TextMatrix(.Row, i) & ", "
Next
End With
End Sub
Text1 = Text1 & .TextMatrix(.Row, i) & ", ":
每次循环向 Text1 里原有的字符串后面 加一个新字符串 .TextMatrix(.Row, i) & ", "
这个新字符串由两个字符串.TextMatrix(.Row, i) 和 ", " 组成
其中 .TextMatrix(.Row, i) 就是 MSHFlexGrid1.TextMatrix(MSHFlexGrid1.Row, i)
MSHFlexGrid1.Row 是 MSHFlexGrid1 当前行,就是你点击的那一行
TextMatrix(MSHFlexGrid1.Row, i) 是当前行的第 i 列数据
vb 中的MSHFlexgrid控件怎么实现双击其中的一行就能在窗体中显现那一行的具体内容视频
相关评论: