在Scroll事件中写代码填充左右两边的特殊字符。 上面的写错了,漏了一个条件 Private Sub MSHFlexGrid1_Scroll() Dim i As Long With MSHFlexGrid1 For i = .TopRow To .Rows - 1 If .RowIsVisible(i) And .RowData(i) <> 1 Then If i Mod 2 = 0 Then .TextMatrix(i, 1) = " " & .TextMatrix(i, 1) & " " End If .RowData(i) = 1 '标记一下,这行已经处理过了,下次再显示这一行就别再加空格了 End If Next End With End Sub
Private Sub Form_Load()
With MSFlexGrid1
.Cols = 2
.Rows = 0
.AddItem "8月15日" & vbTab & "欠休数", 0
.AddItem "星期一" & vbTab & "欠休数", 1
.AddItem "张三" & vbTab & "3"
.AddItem "李四" & vbTab & Chr(255) & "3" & Chr(255)
.FixedCols = 0
.FixedRows = 2
.ColAlignment(0) = 4
.ColAlignment(1) = 4
.MergeCells = flexMergeRestrictColumns
.MergeCol(1) = True
End With
End Sub
Private Sub Form_Load()
With MSHFlexGrid1
.Cols = 2
.Rows = 0
.AddItem "8月15日" & vbTab & "欠休数", 0
.AddItem "星期一" & vbTab & "欠休数", 1
.AddItem "张三" & vbTab & "3"
.AddItem "李四" & vbTab & "3"
.AddItem "张三" & vbTab & "3"
.AddItem "李四" & vbTab & "3"
.AddItem "张三" & vbTab & "3"
.AddItem "李四" & vbTab & "3"
.AddItem "张三" & vbTab & "3"
.AddItem "李四" & vbTab & "3"
.AddItem "张三" & vbTab & "3"
.AddItem "李四" & vbTab & "3"
.AddItem "张三" & vbTab & "3"
.AddItem "李四" & vbTab & "3"
.AddItem "张三" & vbTab & "3"
.AddItem "李四" & vbTab & "3"
.AddItem "张三" & vbTab & "3"
.AddItem "李四" & vbTab & "3"
.AddItem "张三" & vbTab & "3"
.AddItem "李四" & vbTab & "3"
.AddItem "张三" & vbTab & "3"
.AddItem "李四" & vbTab & "3"
.AddItem "张三" & vbTab & "3"
.AddItem "李四" & vbTab & "3"
.AddItem "张三" & vbTab & "3"
.AddItem "李四" & vbTab & "3"
.AddItem "张三" & vbTab & "3"
.AddItem "李四" & vbTab & "3"
.AddItem "张三" & vbTab & "3"
.AddItem "李四" & vbTab & "3"
.AddItem "张三" & vbTab & "3"
.AddItem "李四" & vbTab & "3"
.AddItem "张三" & vbTab & "3"
.AddItem "李四" & vbTab & "3"
.AddItem "张三" & vbTab & "3"
.AddItem "李四" & vbTab & "3"
.FixedCols = 0
.FixedRows = 2
.ColAlignment(0) = 4
.ColAlignment(1) = 4
.MergeCells = flexMergeRestrictColumns
.MergeCol(1) = True
End With
Call MSHFlexGrid1_Scroll
End SubPrivate Sub MSHFlexGrid1_Scroll()
Dim i As Long
With MSHFlexGrid1
For i = .TopRow To .Rows - 1
If .RowData(i) <> 1 Then
If i Mod 2 = 0 Then
.TextMatrix(i, 1) = " " & .TextMatrix(i, 1) & " "
End If
.RowData(i) = 1 '标记一下,这行已经处理过了,下次再显示这一行就别再加空格了
End If
Next
End With
End Sub
上面的写错了,漏了一个条件
Private Sub MSHFlexGrid1_Scroll()
Dim i As Long
With MSHFlexGrid1
For i = .TopRow To .Rows - 1
If .RowIsVisible(i) And .RowData(i) <> 1 Then
If i Mod 2 = 0 Then
.TextMatrix(i, 1) = " " & .TextMatrix(i, 1) & " "
End If
.RowData(i) = 1 '标记一下,这行已经处理过了,下次再显示这一行就别再加空格了
End If
Next
End With
End Sub