Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 在Flex的AdvancedDataGrid中设置树列的文件夹图标(基于行数据)_Actionscript 3_Apache Flex_Advanceddatagrid - Fatal编程技术网

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

Actionscript 3 在Flex的AdvancedDataGrid中设置树列的文件夹图标(基于行数据),actionscript-3,apache-flex,advanceddatagrid,Actionscript 3,Apache Flex,Advanceddatagrid,是否可以基于该行的数据更改AdvancedDataGrid中树列的文件夹图标 我有一个AdvancedDataGrid,它以树格式显示HierarchicalData(来自XML数据)。我想根据每行的XML数据为文件夹图标显示不同的图标。更改文件夹图标的唯一明显方法是设置我的AdvancedDataGrid的folderOpenIcon和folderClosedIcon属性,但这会为所有行设置文件夹图标。我尝试使用AdvancedDataGrid函数“setItemIcon”,但似乎不起作用 我

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

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


我在这个AdvancedDataGrid中有一些ColumnRenders,它们根据行数据在其他列中显示不同的图标,但是我还没有找到一种方法来处理主树列。我猜这与使用ColumnRenderer类似,但也可能使用GroupItemRenderer之类的东西。

这应该可以通过如下方式实现:

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

[Embed(source='/assets/company.png')]
私有静态const COMPANY_图标:Class;
[Embed(source='/assets/customer.png')]
私有静态常量客户图标:类;
私有函数getGroupIcon(项:对象,深度:int):类
{
如果(项目为公司)
返回公司图标;
如果(项目为客户)
返回客户图标;
//null=默认图标
返回null;
}

Adobe的Flex online reference中也有一个例子,演示了如何使用它。

在您发布此消息的同时,我自己发现了groupIconFunction。groupIconFunction正是我所需要的。谢谢