有网友提问:在GRID表格里不同的条件可以用不同颜色的背景或字体来分开吗?回答是肯定的。那么如何实现呢?
在VFP里有几个有关表格的属性:下面两个它们是用来改变表格控件中某个单元格背景和前景的色彩。
Column.DynamicBackColor[ = cExpression] Column.DynamicForeColor[ = cExpression]
另外还有两个相关属性:它们是用来改变整个表格的背景和前景颜色的,可用它们来对颜色进行表格初始化。
Grid.SetAll("dynamicbackcolor", "RGB值", "Column") Grid.SetAll("dynamicforecolor", "RGB值", "Column")
下面的示例很简单,就是对一个表格中年龄大于30岁的记录用红背景色加以标记单元格。
对表单FORM1的Activate事件编程如下:
oGrd = THISFORM.grd
oGrd.SetAll("dynamicbackcolor", "", "Column") oGrd.SetAll("dynamicforecolor", "", "Column")
oGrd.SetAll("dynamicforecolor", "RGB(0,0,0)", "Column")
FOR i = 1 TO oGrd.ColumnCount IF i = 4 oGrd.Columns(i).dynamicbackcolor = "IIF(age>30, RGB(255,0,0), RGB(255,255,255))" ENDIF ENDFOR oGrd.Refresh
|