各位大虾:
    我在设计程序中遇到这么一个问题,就是在用datagrid显示数据时,想让不同行的纪录显示不同的背景颜色,条件是第4列的值小于第7列的值。不知是否可行,如果不行,什么空间可以代替,如何操作,望各位大虾给指点迷津,先谢谢了。

解决方案 »

  1.   

    帮你顶上来。
    我也想让datagrid的奇数行和偶数行显示的背景色不一样,可以实现么?
      

  2.   

    可以的.
    下载是一个mshflexgrid的例子.你看一下
    Public Sub SetRowColor(ByRef MSHFlexGrid As Object, Flag As Boolean)
        Dim i As Long
        Dim j As Long
        Dim TempStyle As Integer
        Dim BackColor As Long
        Dim FontColor As Long
        Dim TempC As Integer
        BackColor = IIf(Flag, RGB(58, 110, 165), &HFFFFFF)
        FontColor = IIf(Flag, &HFFFFFF, 0)
        TempStyle = MSHFlexGrid.FillStyle
        TempC = MSHFlexGrid.FixedCols
        MSHFlexGrid.FillStyle = 1
        For i = 1 To MSHFlexGrid.Rows - 1 Step 2
            MSHFlexGrid.Row = i
            MSHFlexGrid.Col = TempC
            MSHFlexGrid.ColSel = MSHFlexGrid.Cols - 1
            MSHFlexGrid.CellBackColor = BackColor
            MSHFlexGrid.CellForeColor = FontColor
        Next i
        MSHFlexGrid.FillStyle = TempStyle
        MSHFlexGrid.Row = 0
        MSHFlexGrid.Col = 0
    End Sub
      

  3.   

    datagrid不能实现这个功能,建议换成msflexgrid与mshflexgrid,spread,flexcell都是可以的。
      

  4.   

    with datagrid
    For i = 0 To 3
                .backcolor = red
            Next i
            
            For i = 4 To 19
                .backcolor=yellow
            Next i
    end with
      

  5.   

    datagrid的功能很弱,不能实现,