用vsflexgrid如何实现根据某字段不同的值  整行的背景色也不同  
例如:有一车类字段  
       当车类为货车时,在vsflexgrid中相应行的背景色为红色  
       当车类为客车时,在vsflexgrid中相应行的背景色为绿色  
       当车类为拖拉机时,在vsflexgrid中相应行的背景色为黄色

解决方案 »

  1.   

    设定列的colkey,然后用cell属性
      

  2.   

    假设车类字段在第2列
        For intRow = vfg.FixedRows To vfg.Rows - 1
            Select Case vfg.TextMatrix(intRow, 1)
                Case "货车"
                    vfg.Cell(flexcpBackColor, intRow, 1) = vbRed
                Case "客车"
                    vfg.Cell(flexcpBackColor, intRow, 1) = vbYellow
                Case "拖拉机"
                    vfg.Cell(flexcpBackColor, intRow, 1) = vbBlue
            End Select
        Next intRow
      

  3.   

    '在数据刷新完成事件中进行就行了.
    Private Sub VSFlexGrid1_AfterDataRefresh()
        Dim iCol&, iRow&, iColor&
        With VSFlexGrid1
            .Redraw = flexRDNone
            iCol = .ColIndex("车类")
            For iRow = .FixedRows To .Rows - 1
                Select Case .TextMatrix(iRow, iCol)
                    Case "货车"
                        iColor = vbRed
                    Case "客车"
                        iColor = vbYellow
                    Case "拖拉机"
                        iColor = vbBlue
                End Select
                .Cell(flexcpBackColor, iRow, .FixedCols, iRow, .Cols - 1) = iColor
            Next
            .Redraw = flexRDDirect
        End With
    End Sub
      

  4.   


    '在数据刷新完成事件中进行就行了.
    Private Sub VSFlexGrid1_AfterDataRefresh()
        Dim iCol&, iRow&, iColor&
        With VSFlexGrid1
            .Redraw = flexRDNone
            iCol = .ColIndex("车类")
            For iRow = .FixedRows To .Rows - 1
                Select Case .TextMatrix(iRow, iCol)
                    Case "货车"
                        iColor = vbRed
                    Case "客车"
                        iColor = vbYellow
                    Case "拖拉机"
                        iColor = vbBlue
                End Select
                .Cell(flexcpBackColor, iRow, .FixedCols, iRow, .Cols - 1) = iColor
            Next
            .Redraw = flexRDDirect
        End With
    End Sub