基于IF语句在Flex中突出显示DataGrid行

时间:2013-12-04 09:37:54

标签: flex datagrid

我有一系列DataGrids,它们会定期从查询中提取数据。如果该行的一列中的指定值高于某个阈值,我想突出显示整行。所以我需要能够解析DataGrid中的每一行,并突出显示具有高于“100”的特定值的任何行。 DataGrids中的数据量会有所不同,并且无法保证有时会有任何数据。

由于

 'override protected function updateDisplayList(unscaledWidth:Number,unscaledHeight:Number):void
    {
        super.updateDisplayList(unscaledWidth, unscaledHeight);
        var g:Graphics = graphics;
        g.clear();
        var grid1:DataGrid = DataGrid(DataGridListData(listData).owner);
        //var rowtotal:int = new int(dp[0].length) ;
        if (grid1.isItemSelected(data) || grid1.isItemHighlighted(data))
            return;
        if (data[DataGridListData(listData).dataField]== "NJ")
        {
             g.beginFill(0xCC0033);
             g.drawRect(0, 0, unscaledWidth, unscaledHeight);
             g.endFill();
        }
    }'

1 个答案:

答案 0 :(得分:0)

您必须使用Itemrenderer来实现此目的。在itemrenderer setdata方法中,您可以编写列的条件,以将行的背景颜色更改为所需的颜色。