展开
Dim row1 As Long
Dim str1 As String
Dim i As Long
str1 = Me.MSHFlexGrid1.TextMatrix(MSHFlexGrid1.Row, 0)
For i = MSHFlexGrid1.Row To 0 Step -1
If MSHFlexGrid1.TextMatrix(i, 0) <> str1 Then
row1 = i + 1
Exit For
End If
Next i
For i = row1 + 1 To Me.MSHFlexGrid1.Rows - 1
If MSHFlexGrid1.TextMatrix(i, 0) = str1 Then
MSHFlexGrid1.RowHeight(i) = 0
Else
Exit For
End If
Next i
收缩
For i = Me.MSHFlexGrid1.Row + 1 To Me.MSHFlexGrid1.Rows - 1
If Me.MSHFlexGrid1.RowHeight(i) = 0 Then
Me.MSHFlexGrid1.RowHeight(i) = 255
Else
Exit For
End If
Next i
如果你在MSHFlexGrid的最后一行之下双击也会触发DblClick事件而且选中行为最后一行,没关系你可以让最后一行为空,然后让MSHFlexGrid1.RowHeight(MSHFlexGrid1.Rows - 1) = 0
MSFlexGrid合并单元
Private Sub Form_Load()
MSHFlexGrid1.MergeCells = flexMergeRestrictRows
MSHFlexGrid1.MergeCol(0) = True
MSHFlexGrid1.MergeCol(1) = True
End Sub
MSFlexGrid设置各别字段颜色
Private Sub mColor_Click() ' 命令
For I = 1 To MSHFlexGrid1.Rows - 1
MSHFlexGrid1.Row = I
MSHFlexGrid1.Col = 3
If MSHFlexGrid1.Text > 0 Then
MSHFlexGrid1.CellForeColor = vbRed ' 红色
MSHFlexGrid1.Col = 2
MSHFlexGrid1.CellForeColor = vbRed
ElseIf MSHFlexGrid1.Text < 0 Then
MSHFlexGrid1.CellForeColor = vbGreen ' 绿色
MSHFlexGrid1.Col = 2
MSHFlexGrid1.CellForeColor = vbGreen
End If
Next
End Sub