Flex傢伙的問題。 如何在mx:Tree中使用多個項目渲染器,具體取決於樹中項目的深度/級別?例如, 。對於第一級項目,我想使用按鈕標籤和第二級項目組合框。如何在mx中使用2個不同的項目渲染器:樹
這是不是有可能?
Flex傢伙的問題。 如何在mx:Tree中使用多個項目渲染器,具體取決於樹中項目的深度/級別?例如, 。對於第一級項目,我想使用按鈕標籤和第二級項目組合框。如何在mx中使用2個不同的項目渲染器:樹
這是不是有可能?
這裏是解決方案: 在擴展樹中重寫函數getItemRendererFactory(data:Object):IFactory並執行必要的邏輯來選擇適當的itemRenderer。
希望這也將幫助別人
該條件邏輯應該在一個單獨的itemrenderer中實現。您無法設置多個渲染器。
這裏是一個receipe這可怎麼實現的:http://cookbooks.adobe.com/post_How_do_I_create_a_Tree_itemRenderer_-62.html
override public function set data(value:Object):void
{
if(value != null)
{
super.data = value;
if(TreeListData(super.listData).hasChildren)
{
setStyle("color", 0x660099);
setStyle("fontWeight", 'bold');
}
else
{
setStyle("color", 0x000000);
setStyle("fontWeight", 'normal');
}
}
}
,「如果」語句顯示,如果你有內部節點或沒有。生成數據提供者時,您還可以指定其他屬性。
謝謝,我實現了主要的itemRenderer有2種擴展類和被覆蓋的功能組數據做切換。但是,我如何確定節點深度? – luccio 2010-03-21 15:33:40
只是運行在一些問題... 我想這樣做在設置數據(): if(depth == 1){item} {itemRenderer = itemRendererOne;其他{ } else {itemRenderer = itemRendererTwo; } 但它改變了整個樹中的itemRenderer。是否有可能只爲特定項目切換它? – luccio 2010-03-22 21:00:16