VSFlexGrid
大约 1 分钟vb6
遍历选中
方法一
要遍历 VSFlexGrid 的属性 SelectMode 设置为 0-flexSelectionFree 或者 1-flexSelectionByRow 后通过 ctrl,shift 等多选的行,可使用下面的代码
Private Sub Create12E016()
Dim selectedRows As Collection
Set selectedRows = New Collection
Dim i As Long
' 遍历所有行
For i = 0 To VSFlexGrid1.Rows - 1
' 检查当前行是否被选中
If VSFlexGrid1.IsSelected(i) Then
' 将选中的行添加到集合中
selectedRows.Add i
End If
Next i
' 输出选中的行
Dim rowIndex As Variant
For Each rowIndex In selectedRows
Debug.Print "选中的行: " & rowIndex
Next rowIndex
End Sub
方法二
下面方法列的序号从1开始(不是从0开始),依据的是数据源的字段,而不是表格表现出来的列(一般数据源中的字段数量会多余表格显示出来的列的数量),即可以读取到用户看不到的隐藏字段的数据,一般为主键数据。本方法的案例在列表项目的 frmModBLRvsf13E002 # Create12E016 函数中。
Dim rowIndex As Variant
For i = 0 To VSFlexGrid1.selectedRows - 1 '遍历选中的多行
rowIndex = VSFlexGrid1.SelectedRow(i) '获得选中行在整个控件中的行号
Debug.Print VSFlexGrid1.TextMatrix(rowIndex, 2) '打印指定行号指定列上的数据
Debug.Print VSFlexGrid1.TextMatrix(rowIndex, 5)
Debug.Print VSFlexGrid1.TextMatrix(rowIndex, 6)
Debug.Print VSFlexGrid1.TextMatrix(rowIndex, 7)
Next
