Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Flex

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 16.04.2007, 17:36
yana_flash вне форума Посмотреть профиль Отправить личное сообщение для yana_flash Найти все сообщения от yana_flash
  № 1  
Ответить с цитированием
yana_flash

Регистрация: Oct 2003
Сообщений: 74
По умолчанию ФормированиеTree из AS3

Мне необходимо динамически (в зависимости от приходящих от сервера данных) сформировать дерево. Попробовала сделать так:

Код:
<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>
Дерево на экране появляется - но справа от него почему-то выводится текст:
Код:
<child label="111">
	<child label="22"/>
</child>
Как правильно сформировать дерево из AS3? Поиск по хелпам и мануалам пока ничего не дал


Последний раз редактировалось etc; 16.04.2007 в 17:42.
Старый 16.04.2007, 18:04
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: 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>
Цитата:
Сообщение от Help
An object that contains the data to be displayed. When you assign a value to this property, the Tree class handles the source data object as follows:


A String containing valid XML text is converted to an XMLListCollection.
An XMLNode is converted to an XMLListCollection.
An XMLList is converted to an XMLListCollection.
Any object that implements the ICollectionView interface is cast to an ICollectionView.
An Array is converted to an ArrayCollection.
Any other type object is wrapped in an Array with the object as its sole entry.
Можно даже строку запихивать.


Последний раз редактировалось etc; 16.04.2007 в 18:07.
Старый 16.04.2007, 18:17
yana_flash вне форума Посмотреть профиль Отправить личное сообщение для yana_flash Найти все сообщения от yana_flash
  № 3  
Ответить с цитированием
yana_flash

Регистрация: Oct 2003
Сообщений: 74
Спасибо, вроде, заработало.

Старый 18.04.2007, 15:03
Azy вне форума Посмотреть профиль Отправить личное сообщение для Azy Посетить домашнюю страницу Azy Найти все сообщения от Azy
  № 4  
Ответить с цитированием
Azy
 
Аватар для Azy

Регистрация: Apr 2004
Адрес: Челябинск
Сообщений: 131
Отправить сообщение для Azy с помощью ICQ
либо поставить labelField = "@label"

Создать новую тему Ответ Часовой пояс GMT +4, время: 05:30.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 05:30.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.