'=====把用户所选择的列表中的记录放进数组(假设你的MSFlexGrid控件名称为flexTzs)==== If flexTzs.Row < flexTzs.RowSel Then '如果是从上往下选(选多行) intStNo = flexTzs.Row 'intStNo代表开始行号 intEndNo = flexTzs.RowSel 'intEndNo代表结束的行号 End If If flexTzs.Row > flexTzs.RowSel Then '如果是从下往上选(选多行) intStNo = flexTzs.RowSel intEndNo = flexTzs.Row End If If flexTzs.Row = flexTzs.RowSel Then '如果是只选一行 intStNo = flexTzs.Row intEndNo = intStNo End If intRowNo = intEndNo - intStNo '-----放进数组,假设数组名为arrTemp()---- For i = 1 To intRowNo + 1 For j = 1 To 6 '从第一列到第六列读到数组中(根据需要可以改) arrTemp(i, j) = flexTzs.TextMatrix(intStNo, j) Next j intStNo = intStNo + 1 Next i 不知道对不对哦
示例比较麻烦呀。你没有控件参考手册吗?没有话去下载来看看。选定后的行和例用 RowSel 和ColSel属性,可用循环读出.textmtrix(rowindex, colindex)这样会慢点。如果你是要处理数据库的话这样做没有什么意义,还不如直接用SQL处理数据库后用 Set MSFlexGrid.DataSource = Rst
If flexTzs.Row < flexTzs.RowSel Then '如果是从上往下选(选多行)
intStNo = flexTzs.Row 'intStNo代表开始行号
intEndNo = flexTzs.RowSel 'intEndNo代表结束的行号
End If
If flexTzs.Row > flexTzs.RowSel Then '如果是从下往上选(选多行)
intStNo = flexTzs.RowSel
intEndNo = flexTzs.Row
End If
If flexTzs.Row = flexTzs.RowSel Then '如果是只选一行
intStNo = flexTzs.Row
intEndNo = intStNo
End If
intRowNo = intEndNo - intStNo
'-----放进数组,假设数组名为arrTemp()----
For i = 1 To intRowNo + 1
For j = 1 To 6 '从第一列到第六列读到数组中(根据需要可以改)
arrTemp(i, j) = flexTzs.TextMatrix(intStNo, j)
Next j
intStNo = intStNo + 1
Next i
不知道对不对哦