Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   Expand root в Tree (http://www.flasher.ru/forum/showthread.php?t=106010)

Bruiser 29.12.2007 12:21

Expand root в Tree
 
Подскажите, как открыть root-овый элемент дерева.
Пробую так - не получается
Код:

myTree.expandItem(myTree.root,true,true);

Bruiser 09.01.2008 11:20

Взял из help-а пример дерева, добавил метод init(), где пытаюсь разворачивать дерево
Код:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="init()">

    <mx:Script>
        <![CDATA[
                import mx.collections.XMLListCollection;
                public function init():void{
                        var arr:XMLListCollection = myTree.dataProvider as XMLListCollection;
                        if (arr!=null){
                                var obj:Object = arr[0];
                        }
                        myTree.expandItem(obj,true,false);
                }
        ]]>
    </mx:Script>

    <mx:XMLList id="treeData">
        <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>   
    </mx:XMLList>

    <mx:Tree id="myTree" width="100%" height="100%" labelField="@label" showRoot="true" dataProvider="{treeData}"/>
</mx:Application>

... дерево разворачивается.

Начинаю делать у себя
Код:

myXML = XML(myLoader.data);
var xml:XMLList = myXML.children();
myTree.dataProvider = xml;
                               
if (xml!=null){
        var obj:Object = xml[0];
          myTree.expandItem(obj,true,false);
}

... ничего не получается.

Объект obj во втором примере:
Код:

<root data="100" label="RQ=187/2007_12">
  <node data="200" label="Исходные данные">
    <node data="210" label="Транковые группы"/>
    <node data="220" label="Главные номера"/>
    <node data="230" label="ТОПС"/>
  </node>
  <node data="300" label="Отчет"/>
  <node data="500" label="Детализация"/>
</root>


FlexOkeks 09.01.2008 14:31

Код:

          myTree.expandItem(myTree.dataProvider.getItemAt(0),true,false);

Bruiser 09.01.2008 15:55

Цитата:

Сообщение от FlexOkeks
Код:

          myTree.expandItem(myTree.dataProvider.getItemAt(0),true,false);

Это тоже самое, что и я написал, во всяком случае, объект тот же получаю (obj), а дерево не разворачивается.

etc 09.01.2008 16:05

Код:

myTree.expandItem(myTree.dataProvider[0],true,false);

Bruiser 09.01.2008 16:46

Цитата:

Сообщение от __etc
Код:

myTree.expandItem(myTree.dataProvider[0],true,false);

То, что предлагаете - это практически тоже самое, что и я написал.
Код:

var arr:XMLListCollection = myTree.dataProvider as XMLListCollection;
if (arr!=null){
    var obj:Object = arr[0];
    myTree.expandItem(obj,true,false);
}

Объект получается один и тот же, просто не тот объек нужно получать наверное, в другом формате.

etc 09.01.2008 17:42

Цитата из хелпа по expandItem:

Цитата:

Сообщение от Help
Opens or closes a branch item. When a branch item opens, it restores the open and closed states of its child branches if they were already opened. If you set dataProvider and then immediately call expandItem() you may not see the correct behavior. You should either wait for the component to validate or call validateNow().


Bruiser 10.01.2008 10:17

Не знаю, не работает...

etc 10.01.2008 10:33

Ну тогда callLater спасёт.

Bruiser 10.01.2008 10:46

Во, вот так только и заработало, пасиб


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

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