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