Private Sub MSHFlexGrid1_Click() Dim mRow As Long Dim I As Long
mRow = MSHFlexGrid1.MouseRow For I = 0 To MSHFlexGrid1.Cols - 1 Text1(I).Text = MSHFlexGrid1.TextMatrix(mRow, I) Next End Sub
我是这样写的 Private Sub MSHFlexGrid1_Click() Dim mRow As Long Dim i As Long mRow = MSHFlexGrid1.Row If MSHFlexGrid1.TextMatrix(mRow, 0) = "" Then Exit Sub End If For i = 0 To MSHFlexGrid1.Cols - 1 Text1(i).Text = MSHFlexGrid1.TextMatrix(mRow, i) Next End Sub
Private Sub DataGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer) text1.text=adodc1.recordset.fields("字段") text2.text=adodc1.recordset.fields("字段") ... ... ...End Sub
1:主要是不知道这属于哪个事件? 点击某一行后产生 MSHFlexGrid1_Click()事件 这时mshflexgrid的row属性就是点击的行号,你可以改变col的属性值,取出相应的字段值给text控件 2:取值 两种方法 a: 用TextMatrix属性,用行,列直接定位,就是前面的方法 b:直接用text属性, For I = 0 To MSHFlexGrid1.Cols - 1 MSHFlexGrid1.col=I'定位 Text1(I).Text = MSHFlexGrid1.Text Next
Dim mRow As Long
Dim I As Long
mRow = MSHFlexGrid1.MouseRow
For I = 0 To MSHFlexGrid1.Cols - 1
Text1(I).Text = MSHFlexGrid1.TextMatrix(mRow, I)
Next
End Sub
Private Sub MSHFlexGrid1_Click()
Dim mRow As Long
Dim i As Long
mRow = MSHFlexGrid1.Row
If MSHFlexGrid1.TextMatrix(mRow, 0) = "" Then
Exit Sub
End If
For i = 0 To MSHFlexGrid1.Cols - 1
Text1(i).Text = MSHFlexGrid1.TextMatrix(mRow, i)
Next
End Sub
text1.text=adodc1.recordset.fields("字段")
text2.text=adodc1.recordset.fields("字段")
...
...
...End Sub
点击某一行后产生 MSHFlexGrid1_Click()事件
这时mshflexgrid的row属性就是点击的行号,你可以改变col的属性值,取出相应的字段值给text控件
2:取值
两种方法 a: 用TextMatrix属性,用行,列直接定位,就是前面的方法
b:直接用text属性,
For I = 0 To MSHFlexGrid1.Cols - 1
MSHFlexGrid1.col=I'定位
Text1(I).Text = MSHFlexGrid1.Text
Next
"因该在datagrid1的rowsel事件中吧,版主说的是选中一行呀!"
datagrid1没有rowsel事件啊!我找不到啊。
fuanwei:
好像rowcolchange事件用起来不是很好。我试过这个方法,可是,你第一次选中某行时,该事件是不发生的,只有第二次选中其它行时,该事件才响应。