如何用VSFlexGrid动态设置行字体显示不同的颜色。我有个数据库stu,一个表QQVIP
表结构如下:
id(自动编号)、QQid(INT,4)、ID1(INT,0),
0001            249275501         0                        
0002            249275502         1            
0003            249275503         2         
说明:ID1值为0,表示红色
      ID1值为1,1表示蓝色
      ID1值为2,2表示绿色
问题1:
   当我从数据库里的QQVIP表数据读到VSFlexGrid上时,如何根据ID1的值动态设置当前整行字体的颜色?代码怎么写,各位帮帮忙,在线等待。

解决方案 »

  1.   

    '数据刷新前,设置不让grid刷新,这样可以提高速度Private Sub VSFlexGrid1_BeforeDataRefresh(Cancel As Boolean)
        VSFlexGrid1.Redraw = flexRDNone
    End Sub'数据更新后,根据id1的值设置颜色
    Private Sub VSFlexGrid1_AfterDataRefresh()
        Dim iRow&, iIDCol&, iCol1&, iCol2&
        With VSFlexGrid1
            iIDCol = .ColIndex("id1") '取得id1字段所在的列号
            iCol1 = .FixedCols '取得活动列的开始列
            iCol2 = .Cols - 1 '取得结束列
            For iRow = .FixedRows To .Rows - 1 '循环设置行颜色
                .Cell(flexcpForeColor, iRow, iCol1, iRow, iCol2) = IIf(.TextMatrix(iRow, iIDCol) Mod 2 = 0, &HFF0000, &HFF) '我这里只设置了两种颜色,楼主自己根据需要修改
            Next
            .Redraw = flexRDBuffered
        End With
    End Sub