vb中,如何判断MSHFlexGrid控件中显示记录被选取?

2024-12-16 19:15:35
推荐回答(3个)
回答1:

用循环
for i=0 to mshflexgrid1.rows-1
val=mshflexgrid1.TextMatrix(i, 你要判断的是哪一列,注意列是从零列开始的)
if val=True then msgbox "现在选中的行是" & i
注意:这个VAL只是说用一个变量来确定你是否选择,布尔型的,可以用其它方法

回答2:

MSHFlexGrid1.RowSel '选择行
MSHFlexGrid1.ColSel '选择列
MSHFlexGrid1.TextMatrix(MSHFlexGrid1.RowSel,MSHFlexGrid1.ColSel)'选择单元格数据

回答3:

直接在控件中用print可以吗?
或者用MSHFlexGrid控件来实现着色与滚动,更适合做表格使用

给你个方法代码:
Dim i As Integer
With MSHFlexGrid1
.Redraw = False
.AllowBigSelection = True ' 设置网格样式
.FillStyle = flexFillRepeat
For i = 1 To .Rows - 1
.Row = i
.col = .FixedCols
.ColSel = .Cols - .FixedCols
If i Mod 2 = 0 Then '包括标题开始,偶数行白色
.CellBackColor = &HFFFFFF '白色
Else '窗体颜色:&H8000000F
.CellBackColor = &HF0FFF0 '奇数行浅青色
End If
If (.Text) = "无效" And Len(.TextMatrix(i, 16)) > 0 Then
.CellBackColor = &HFF&
End If
Next i
.Redraw = True
End With