AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.04.2004, 21:57   #1  
ald is offline
ald
Участник
 
24 / 10 (1) +
Регистрация: 30.01.2004
Работа с деревом
Построил дерево. Хочу найти узел, который содержит в Data нужную мне информацию, которая там была записана при создании. Как это сделать?
Старый 21.04.2004, 11:19   #2  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Либо перебором, либо при построении дерева строить Map с ключом data и данными idx.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 21.04.2004, 11:37   #3  
ald is offline
ald
Участник
 
24 / 10 (1) +
Регистрация: 30.01.2004
Спасибо, не первый раз получаю от Вас вразумительный ответ. С Map все понятно, а как перебрать все ветви дерева? Заранее благодарен.
Старый 21.04.2004, 12:27   #4  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Например, вот так (имя элемента управления "Дерево" - formTreeControl):
PHP код:
int idx;

void printItem(FormTreeItem treeItem) {
    
int idx1;
    ;
    
info(treeItem.text());
    
// Если Вы строите дерево сразу полностью, а не в момент раскрытия,
    // то следующую строчку можно пропустить
    
formTreeControl.expand(treeItem.idx(), FormTreeExpand::Expand);
    
idx1 formTreeControl.getChild(treeItem.idx());
    while (
idx1) {
        
printItem(formTreeControl.getItem(idx1));
        
idx1 formTreeControl.getNextSibling(idx1);
    }
}

idx formTreeControl.getRoot();
while (
idx) {
    
printItem(formTreeControl.getItem(idx));
    
idx formTreeControl.getNextSibling(idx);

__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 21.04.2004, 13:58   #5  
ald is offline
ald
Участник
 
24 / 10 (1) +
Регистрация: 30.01.2004
Спасибо! Всё гениальное просто!!! По Вашему мнению какой из способов предпочтительней - мар или перебор?
Старый 21.04.2004, 14:17   #6  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Я бы лучше делал Map.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 21.04.2004, 16:16   #7  
mit is offline
mit
Участник
Аватар для mit
 
386 / 36 (2) +++
Регистрация: 15.01.2003
Адрес: Moscow
Дайте пожалуйста ссылку, почитать про map
Старый 21.04.2004, 16:34   #8  
dn is offline
dn
Участник
Самостоятельные клиенты AX
 
486 / 159 (6) ++++++
Регистрация: 26.03.2003
Адрес: Москва
Цитата:
Изначально опубликовано mit
Дайте пожалуйста ссылку, почитать про map
System Documentation \ Classes \ Map или документация по java.
Старый 21.04.2004, 17:09   #9  
mit is offline
mit
Участник
Аватар для mit
 
386 / 36 (2) +++
Регистрация: 15.01.2003
Адрес: Moscow
Цитата:
Изначально опубликовано dn
System Documentation \ Classes \ Map или документация по java.
Ну и кто догадался повесить пиджак в шкаф?

Спасибо.
есть еще вопрос по деревьям, может кто сталкивался:
есть два узла, при перетаскивании элементов из одного в другой - хочется выполнить некоторые действия(с этим проблем нет), а затем перерисовать оба.
пытаюсь сделать так - перекрываю drop и вскоре попадаю в expanding
PHP код:
if (!this.getItem(_Idx).stateExpandedOnce())
{
        if (
this.getChild(_Idx))
            
this.delete(this.getChild(_Idx));
// и дальше происходит достраивание дерева 
пытался и удалять всех потомков - не помогает...
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Доступ к меню "Работа с документами" Kuat DAX: Администрирование 4 16.11.2007 17:07
Совместная работа заказчика и исполнителя в разных или одном слое? Кузин Владимир В. DAX: Программирование 6 08.08.2006 10:02
Работа с деревом Dmm DAX: Программирование 5 05.02.2004 10:13

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 22:13.