本文介绍了数据网格 FLEX 中的不同行样式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果在数据字段中找到某个单词,我正在尝试更改数据网格中一行的字体颜色.有没有一种简单的内联方式来做到这一点?

I'm trying to change the font color of a row in a datagrid if a certain word is found in a datafield.Is there a simple, inline way to do this?

谢谢

推荐答案

您可以覆盖您的 DataGrid 的 drawRowBackground 方法,并检查它是否需要自定义背景.
如果是,则将新的背景颜色传递给此方法的 super 调用:

You can override your DataGrid's drawRowBackground method, and check whether it needs custom background or not.
If so, pass the new background color to the super call of this method:

protected override function drawRowBackground(s:Sprite, rowIndex:int,
    y:Number, height:Number, color:uint, dataIndex:int):void
{
    if ((dataProvider[dataIndex] as String).indexOf(someWord) >= 0)
        color = yourCustomColor;
    super.drawRowBackground(s, rowIndex, y, height, color, dataIndex);
}

其中 someWord 是您要搜索的单词,而 yourCustomColor 是表示新背景颜色的 uint,例如:

where someWord is the word you are searching for, and yourCustomColor is the uint representing the new background color, eg:

var yourCustomColor: uint = 0xff0000;

这篇关于数据网格 FLEX 中的不同行样式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-31 03:14