gpt4 book ai didi

apache-flex - Flex 中 AdvancedDataGrid 上 TreeColumn 的 ItemRenderer

转载 作者:行者123 更新时间:2023-12-04 02:49:18 26 4
gpt4 key购买 nike

是否可以将渲染器用于高级数据网格中的树列并仍然保留分层功能?如果我使用渲染器提供程序,我会丢失树下拉列表的箭头。我想保留树功能并更改列的显示。(而不仅仅是文件夹图像)

<mx:AdvancedDataGridRendererProvider column="{titleCol}" depth="1"
renderer="com.something.titleColumnRenderer"/>

标题列渲染器:
<mx:VBox width="100%" xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Label id="titleLabel" textAlign="center" text="sometext" width="100"/></mx:VBox>

最佳答案

这是我为实现这一目标所做的工作:

  • 创建一个扩展 AdvancedDataGridGroupItemRenderer 的类
  • 在新类中覆盖 updateDisplayList 并执行您需要执行的操作
  • 将新类分配给 AdvancedDataGrid 的 groupItemRenderer 属性

  • 这就是你的新类(class)的样子
    public class CustomGroupRenderer extends AdvancedDataGridGroupItemRenderer
    {
    override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
    {
    super.updateDisplayList(unscaledWidth, unscaledHeight);

    var listData:AdvancedDataGridListData = listData as AdvancedDataGridListData;
    var advancedDataGrid:AdvancedDataGridDataGrid = listData.owner as AdvancedDataGrid;

    var cellBackgroundColor:uint = 0xFF0000;

    var g:Graphics = graphics;
    g.clear();

    if (!advancedDataGrid.isItemSelected(data) && !advancedDataGrid.isItemHighlighted(data))
    {
    g.beginFill(cellBackgroundColor);
    g.drawRect(0, 0, unscaledWidth, unscaledHeight);
    g.endFill();
    }
    }
    }

    然后将此类分配给 AdvancedDataGrid 的 groupItemRenderer 属性:
    <mx:AdvancedDataGrid groupItemRenderer="com.whereever.CustomGroupRenderer"/>

    或者,在 ActionScript 中:
    myAdvancedDataGrid.groupItemRenderer = new ClassFactory(com.whereever.CustomGroupRenderer);

    关于apache-flex - Flex 中 AdvancedDataGrid 上 TreeColumn 的 ItemRenderer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2638842/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com