apache-flex - Flex 中 AdvancedDataGrid 上 TreeColumn 的 ItemRenderer

标签 apache-flex itemrenderer advanceddatagrid

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

<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/

    相关文章:

    apache-flex - 如何在 ItemRenderer 中使用超出数据网格范围的变量?

    apache-flex - 弹性 : Caching images in list item renderer?

    apache-flex - Flex 中的 XML 到 JSON?

    actionscript-3 - 为什么要使用 MXML?

    actionscript-3 - 文本输入文本不会显示,除非它集中在 flex 4.6 android 应用程序中

    apache-flex - 如何增加 Virtualized Flex 4 布局中的缓冲区

    apache-flex - 如何将图标添加到 AdvancedDataGrid 列标题并保留文本的自动换行功能

    apache-flex - 如何在 Adob​​e Flex 中合并 DataGrid/AdvancedDataGrid 中的单元格

    html - 如何让 <div> 标签 htmlText 包裹在 AdvancedDataGridColumn 中

    apache-flex - Flex 框架的替代品