Показать сообщение отдельно
Старый 29.07.2015, 15:45   #8  
syl is offline
syl
Участник
Аватар для syl
 
236 / 21 (1) +++
Регистрация: 10.06.2015
Адрес: Киев
Вопрос открытый

X++:
        idx = tables.getRoot();
        while(idx > 0)
        {  
            if(tables.getChild(idx) == 0)
                tables.delete(idx);
            idx = tables.getNextSibling(idx); //Тут всегда получает значение 0
        }
Я делаю фильтр для журнала базы данных (форма SysDatabaseLogWizard метод buildTableTree), фильтр работает, но остаются пустые ноды. Проблема в том что каждая нода (группа таблиц) с точки зрения системы является корневой.
Тоесть если изменить код на:
X++:
        while(idx > 0)
        {  
            if(tables.getChild(idx) == 0)
                tables.delete(idx);
            idx = tables.getRoot();
        }
Код будет отрабатывать пока не встретит непустую ноду, т.к. она не удалится будет вечный цикл. Неужели в данном контроле реально нету способа обойти все ноды (getNext()?)? что за контрол такой?)

В общем буду рад любым предложениям.