首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > flex >

flex datagrid怎么改变行的字体颜色

2012-02-15 
flex datagrid如何改变行的字体颜色?例如datagrid如下:column1column2 column3a9:001b8:000c7:001我想把第

flex datagrid如何改变行的字体颜色?
例如datagrid如下:
column1 column2 column3
a 9:00 1
b 8:00 0
c 7:00 1

我想把第三列值为1所在的行的字体颜色改为红色怎么改?

[解决办法]
这个问题我以前也问过
http://topic.csdn.net/u/20081204/14/e728ed18-2f2d-4f8c-963f-9c308ab27ec1.html
[解决办法]

 如何更改DataGrid中某一行的背景色是一个被经常问的问题。这个在Flex2.0中很简单,只需按照下面的步骤做:

1.创建一个扩展自 mx.controls.DataGrid 的类。这个类可以是MXML文件或者ActionScript文件,你可以根据自己的习惯创建。

2.覆写 protected 方法 drawRowBackground :


override protected function drawRowBackground(s:Sprite, rowIndex:int, y:Number, height:Number, color:uint, dataIndex:int):void
{
// 这里可以做一些对数据的判断,然后更改相应的颜色。比如color = 0xFF0000;
// 调用super函数来执行更改。
super.drawRowBackground(s,rowIndex,y,height,color,dataIndex);
}

3.在你的程序中用你新建的类替代 <mx:DataGrid>。

在 drawRowBackground 方法中你可以对数据做一些判断。dataIndex 参数可以用来查看dataProvider 中某一行所显示的数据。例如:假设你想要将数值大于1000的行都显示为绿色:


var item:Object = (dataProvider as ArrayCollection).getItemAt(dataIndex);
if( item.quantity > 1000 ) color = 0×00FF00;

就这么简单。

热点排行