![]() |
|
||||||||||
|
|||||
|
Регистрация: Oct 2003
Сообщений: 74
|
Мне необходимо динамически (в зависимости от приходящих от сервера данных) сформировать дерево. Попробовала сделать так:
<mx:Panel width="276" height="158" layout="absolute" title="Структура объектов" horizontalCenter="-28.5" verticalCenter="-15" id="panel1">
<mx:Tree x="518" y="62" height="440" id="treeDevices" dataProvider="{treeData}"></mx:Tree>
</mx:Panel>
...
<mx:Script><![CDATA[
public var treeData:XML;
...
private function buildTree():void {
treeData =
<child label="111">
<child label="22">
</child>
</child>;
}
]]></mx:Script>
Как правильно сформировать дерево из AS3? Поиск по хелпам и мануалам пока ничего не дал ![]() Последний раз редактировалось etc; 16.04.2007 в 17:42. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Потому что Tree кушает XMLList.
<?xml version="1.0" encoding="utf-8"?>
<!-- Tree control example. -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="init();">
<mx:Script>
<![CDATA[
[Bindable]
public var selectedNode:XML;
[Bindable]
public var myData:XMLList;
// Event handler for the Tree control change event.
public function treeChanged(event:Event):void {
selectedNode=Tree(event.target).selectedItem as XML;
}
private function init():void {
var xml:XML =
<index>
<node label="Mail Box">
<node label="Inbox">
<node label="Marketing"/>
<node label="Product Management"/>
<node label="Personal"/>
</node>
<node label="Outbox">
<node label="Professional"/>
<node label="Personal"/>
</node>
<node label="Spam"/>
<node label="Sent"/>
</node>
</index>;
myData = xml.elements();
}
]]>
</mx:Script>
<mx:Panel title="Tree Control Example" height="75%" width="75%"
paddingTop="10" paddingLeft="10" paddingRight="10" paddingBottom="10">
<mx:Label width="100%" color="blue"
text="Select a node in the Tree control."/>
<mx:HDividedBox width="100%" height="100%">
<mx:Tree id="myTree" width="50%" height="100%" labelField="@label"
showRoot="true" dataProvider="{myData}" change="treeChanged(event)"/>
<mx:TextArea height="100%" width="50%"
text="Selected Item: {selectedNode.@label}"/>
</mx:HDividedBox>
</mx:Panel>
</mx:Application>
Цитата:
Последний раз редактировалось etc; 16.04.2007 в 18:07. |
|
|||||
|
Регистрация: Oct 2003
Сообщений: 74
|
Спасибо, вроде, заработало.
|
|
|||||
|
либо поставить labelField = "@label"
|
![]() |
![]() |
Часовой пояс GMT +4, время: 05:30. |
|
|
« Предыдущая тема | Следующая тема » |
|
|