MSHFlexGrid控件,怎样隔行显示不同颜色,并且隔几行才有横格线

解决方案 »

  1.   

    MSHFlexGrid是没有该项功能的,要的话,你可以自已写.        Dim I As Long
            Dim J As Long
            
            MSHFlexGrid1.Redraw = False
            For I = 1 To MSHFlexGrid1.Rows - 1
                MSHFlexGrid1.Row = I
                For J = 0 To MSHFlexGrid1.Cols - 1
                    MSHFlexGrid1.Col = J
                    If I Mod 2 = 0 Then
                       MSHFlexGrid1.CellBackColor = RGB(255, 0, 0)
                    Else
                       MSHFlexGrid1.CellBackColor = RGB(0, 255, 0)
                    End If
                Next
            Next
            MSHFlexGrid1.Redraw = True
      

  2.   

    看看以下代码,我想对你会有帮助的。
    '该过程是对msflexgrid中cell变颜色的,需要变的是col = 2,3,4,8,10
    Private Sub Colortoms()
        Dim i As Integer
        Dim n As Integer
        For i = 2 To 4
            For n = 1 To Me.MSFlexGrid1.Rows - 1
                Me.MSFlexGrid1.Col = i
                Me.MSFlexGrid1.Row = n
                Me.MSFlexGrid1.CellBackColor = &HE0E0E0
            Next n
        Next i
        Me.MSFlexGrid1.Col = 8
        For i = 1 To Me.MSFlexGrid1.Rows - 1
            Me.MSFlexGrid1.Row = i
            Me.MSFlexGrid1.CellBackColor = &HE0E0E0
        Next
        Me.MSFlexGrid1.Col = 10
        For i = 1 To Me.MSFlexGrid1.Rows - 1
            Me.MSFlexGrid1.Row = i
            Me.MSFlexGrid1.CellBackColor = &HE0E0E0
        Next
        '处理单价列
        If Text1(1).Tag = "0001" Then
            Me.MSFlexGrid1.Col = 9
            For i = 1 To Me.MSFlexGrid1.Rows - 1
                Me.MSFlexGrid1.Row = i
                Me.MSFlexGrid1.CellBackColor = &HFFFFFF
            Next
        Else
            Me.MSFlexGrid1.Col = 9
            For i = 1 To Me.MSFlexGrid1.Rows - 1
                Me.MSFlexGrid1.Row = i
                Me.MSFlexGrid1.CellBackColor = &HE0E0E0
            Next
        End If
    End Sub