关于对DataGrid控件的处理问题
我想改变DataGrid控件的背景颜色。但是不想整体都是用同一种颜色,而是随着数据的改变,来改变相应数据的颜色,但是控件中只有BACKCOLOR这个属性,请问大家,这应该如何处理? 问题点数:50、回复次数:5Top
1 楼faysky2(出来混,迟早是要还嘀)回复于 2006-03-03 14:04:44 得分 0
DataGrid不好处理
MSFlexGrid或MSHFlexGrid容易做Top
2 楼Ice1982()回复于 2006-03-03 14:16:31 得分 0
MSFlexGrid这个也行,请问具体怎样操作呢?Top
3 楼AnnaBear(淡淡)回复于 2006-03-03 15:38:26 得分 25
Option Explicit
Private Sub Form_Load()
Me.MSHFlexGrid1.Rows = 4
Me.MSHFlexGrid1.Cols = 3
Me.MSHFlexGrid1.TextMatrix(0, 0) = "1"
Me.MSHFlexGrid1.TextMatrix(0, 1) = "2"
Me.MSHFlexGrid1.TextMatrix(0, 2) = "3"
Me.MSHFlexGrid1.TextMatrix(1, 0) = "aaa"
Me.MSHFlexGrid1.TextMatrix(1, 1) = "bbb"
Me.MSHFlexGrid1.TextMatrix(1, 2) = "ccc"
Me.MSHFlexGrid1.TextMatrix(2, 0) = "aaaa"
Me.MSHFlexGrid1.TextMatrix(2, 1) = "bbbb"
Me.MSHFlexGrid1.TextMatrix(2, 2) = "cccc"
End Sub
Private Sub MSHFlexGrid1_Click()
Dim row As Integer
Dim col As Integer
Dim str As String
col = Me.MSHFlexGrid1.col
row = Me.MSHFlexGrid1.row
If Me.MSHFlexGrid1.TextMatrix(row, col) = "bbbb" Then
Me.MSHFlexGrid1.CellBackColor = vbRed'背景色
Me.MSHFlexGrid1.CellForeColor = vbWhite'前景色
End If
If Me.MSHFlexGrid1.TextMatrix(row, col) = "aaa" Then
Me.MSHFlexGrid1.CellBackColor = vbBlue
End If
......
End SubTop
4 楼faysky2(出来混,迟早是要还嘀)回复于 2006-03-04 01:19:02 得分 25
MSFlexGrid控件不能与ADO绑定,不过可以用循环来填充,如果你的数据比较多的话,用MSHFlexGrid控件吧,它可以与ADO进行绑定,绑定方法与DataGrid完全一样
设置单元格的颜色的方法很简单,首先设置活动单元的坐标(用Row属性和Col属性来设置),然后设置 CellBackColor属性即可,比如:
设置第3行,第3列的单元格背景色为绿色:
With MSHFlexGrid1
.Row = 2 '设置活动行为第3行
.Col = 2 '设置活动列为第3列
.CellBackColor = vbGreen '设置活动单元(第3行,第3列)的背景色为绿色
End WithTop
5 楼wxrwan(无奈小飞不耻上问)回复于 2006-03-04 01:21:46 得分 0
学习Top




