【问题标题】:Highlighting a DataGrid row in Flex based on an IF Statement基于 IF 语句在 Flex 中突出显示 DataGrid 行
【发布时间】:2013-12-04 09:37:53
【问题描述】:

我有一系列数据网格,它们会定期从查询中提取数据。如果该行的一列中的指定值高于某个阈值,我想突出显示整行。因此,我需要能够解析 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();
        }
    }'

【问题讨论】:

  • 如果是 spark 数据网格,您可以通过蒙皮来做到这一点。
  • 我在上面添加了我现在用来填充背景的代码,但它只填充了单元格。我是否缺少一些东西来填充包含单元格的整行。
  • stackoverflow.com/a/6015763/842112 参考这个它会工作
  • 那只是改变字体颜色,无论如何都可以在 as 文件中完成。难点在于改变行的背景颜色。
  • 你试过了吗?不要只是阅读尝试..,You can override your DataGrid's drawRowBackground method, and check whether it needs custom background or not.

标签: apache-flex datagrid


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2011-06-06
    • 2016-12-01
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    • 2010-12-27
    • 2017-09-07
    • 1970-01-01
    相关资源
    最近更新 更多