Wie 2 verschiedene Elementrenderern in mx verwenden: Baum
-
21-09-2019 - |
Frage
Frage für Flex Jungs. Wie kann ich mehrere Elementrenderern in mx verwenden: Baum je nach Element der Tiefe / Ebene im Baum? Zum Beispiel. Für den ersten Level Artikel möchte ich Etikett mit Knopf bedienen und für die zweite Ebene Artikel Combobox.
Ist das irgendwie möglich?
Lösung
Hier ist Lösung: Im erweiterten Baum gerade Funktion getItemRendererFactory außer Kraft setzen (data: Object): IFactory und tut notwendige Logik richtige itemRenderer auszuwählen.
Hope Dies wird helfen, auch jemand anderes
Andere Tipps
Die bedingte Logik in einem einzigen itemRenderer umgesetzt werden. Sie können nicht mehrere Renderer eingestellt.
Hier ist ein Rezept, wie diese umgesetzt werden können: 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');
}
}
}
Die ‚wenn‘ Anweisung zeigen Sie, wenn Sie innere Knoten haben oder nicht. Sie können auch zusätzliche Eigenschaft angeben, wenn Sie den Datenprovider zu erzeugen.