Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Высота компонента Tree (http://www.flasher.ru/forum/showthread.php?t=113925)

vikingcompany 13.07.2008 21:57

Высота компонента Tree
 
Динамически создаю компонент Tree, который заполняю данными.
При создании, задаю ему конкретный физический размер,
достаточный для работы с компонентом лишь в режиме
"хочешь развернуть одну ветку, будь любезен свернуть другую".
Если же развернуть все ветки, часть из них будет просто не видна :-(

Подскажите кто знает: можно ли динамически задавать размер (высоту) компонента Tree,
дабы все ветки оставались видны?

alexcon314 13.07.2008 22:44

У этого компонента есть VScrollPolicy-свойство, для случаев, когда содержимое не убирается в "окно" компонента.
А так - mytree.setSize(w, h) ;

vikingcompany 13.07.2008 23:00

Цитата:

Сообщение от alexcon314 (Сообщение 751885)
У этого компонента есть VScrollPolicy-свойство, для случаев, когда содержимое не убирается в "окно" компонента.

Это мне известно. Но я его специально скрыл - скроллер портит внешний вид.

Цитата:

Сообщение от alexcon314 (Сообщение 751885)
А так - mytree.setSize(w, h) ;

Именно так я и задаю размер изначально.
А вот как его изменить в соответствии с раскрытыми ветвями ... :umnik2:

alexcon314 14.07.2008 00:41

Извините, недопонял ваш вопрос в первом посте.
Собственно, что мешает вычислять высоту по количеству веток? Но, вообще как-то необычно - отказываться от вертикального скролла и менять размер компонента. потому и метода специально такого там нету.

vikingcompany 14.07.2008 10:17

А как именно узнать количество веток?

alexcon314 14.07.2008 12:09

Посчитать. Сделать обход по дереву с подсчетом нод.

vikingcompany 17.07.2008 10:31

Понял. Обход делаю так:
Код:

for (var i:Number = 0; i < 10; i++)
{
my_tree.selectedNode = my_tree.getTreeNodeAt(i);
trace (my_tree.getDisplayIndex(my_tree.selectedNode) + 1);
}

Это работает для заранее известного количества веток (в примере для 10-ти).
При меньшем количестве веток
my_tree.getDisplayIndex(my_tree.selectedNode) трейсится как "Nan".
Как правильно ввести ограничение, чтобы при Nan обход прекращался?

alexcon314 17.07.2008 14:25

Использовать while(){}

vikingcompany 17.07.2008 16:01

Это понятно.
А меня куда больше волнует условие:
если
Код:

while(my_tree.getDisplayIndex(my_tree.selectedNode) = none) {...}
ничего не работает :-(

vikingcompany 17.07.2008 21:30

Как правильно его сформировать?


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

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