繁体   English   中英

在Flex的AdvancedDataGrid中设置树列的文件夹图标(基于行数据)

[英]Setting the folder icon of a tree column (based on row data) in AdvancedDataGrid in Flex

是否可以根据该行的数据来更改AdvancedDataGrid中树列的文件夹图标?

我有一个AdvancedDataGrid,它以树格式显示HierarchicalData(来自XML数据)。 我想基于每一行的XML数据为文件夹图标显示不同的图标。 更改文件夹图标的唯一显而易见的方法是设置AdvancedDataGrid的folderOpenIcon和folderClosedIcon属性,但这将为所有行设置文件夹图标。 我尝试使用AdvancedDataGrid函数“ setItemIcon”,但这似乎不起作用。

我在此AdvancedDataGrid中有一些ColumnRenderers,它们基于行数据在其他列中显示不同的图标,但是我还没有找到一种对主树列执行此操作的方法。 我猜它与使用ColumnRenderer类似,但也许使用类似GroupItemRenderer的东西。

应该可以通过groupIconFunction这样实现:

<mx:AdvancedDataGrid groupIconFunction="getGroupIcon">
   <mx:columns>
       <mx:AdvancedDataGridColumn headerText="Name" dataField="name"/>
   </mx:columns>
</mx:AdvancedDataGrid>

<fx:Script>

[Embed(source='/assets/company.png')]
private static const COMPANY_ICON: Class;

[Embed(source='/assets/customer.png')]
private static const CUSTOMER_ICON: Class;

private function getGroupIcon(item:Object,depth:int):Class
{
    if (item is Company)
        return COMPANY_ICON;
    if (item is Customer)
        return CUSTOMER_ICON;
    // null = default icon
    return null;
}

</fx:Script>

Adobe的Flex在线参考中还有一个示例,演示了如何使用groupIconFunction和groupLabelFunction属性

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM