powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как перебрать дочерние узлы определённого Item
8 сообщений из 8, страница 1 из 1
Как перебрать дочерние узлы определённого Item
    #34527570
shanton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужно перебрать все дочерние узлы определённого item в treeview, или только корневые дочерние узлы. Огромное спасибо!
...
Рейтинг: 0 / 0
Как перебрать дочерние узлы определённого Item
    #34527643
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алгоритмов много: рекурсия, стек, запрос с JOIN к промежуточной таблицы...
Многократно обсуждалось на этом форуме, ищите. Если не найдете, то приведу свой.
С уважением, Алексей.
...
Рейтинг: 0 / 0
Как перебрать дочерние узлы определённого Item
    #34527695
shanton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот что-то нашол:
LPARAMETERS node

LOCAL loChildNode
loChildNode = node.Child

FOR nI=1 TO node.Children
IF nI>1
loChildNode=loChildNode.Next
ENDIF
ENDFOR

должно работать.
...
Рейтинг: 0 / 0
Как перебрать дочерние узлы определённого Item
    #34527957
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shantonВот что-то нашол:
LPARAMETERS node

LOCAL loChildNode
loChildNode = node.Child

FOR nI=1 TO node.Children
IF nI>1
loChildNode=loChildNode.Next
ENDIF
ENDFOR

должно работать.
А вы проверьте, КАК это будет работать. Особенно с "деревом" более 2-х уровней.
С уважением, Алексей.
...
Рейтинг: 0 / 0
Как перебрать дочерние узлы определённого Item
    #34528095
shanton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проверил, уровней придостаточно (дерево отображает структуру изделия - трансформатор), результатом доволен.
...
Рейтинг: 0 / 0
Как перебрать дочерние узлы определённого Item
    #34528535
Guest11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А IF тут к чему?

Не проще ли

Код: plaintext
1.
2.
3.
4.
5.
6.
LOCAL loChildNode
loChildNode = node.Child

DO WHILE NOT ISNULL(loChildNode)
  ...
  loChildNode=loChildNode.Next
ENDDO
...
Рейтинг: 0 / 0
Как перебрать дочерние узлы определённого Item
    #34528677
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А все-так проверьте результат!
Метод Next у Node переходит на следующий Node ДАННОГО уровня. Т.е. этим способом вы НЕ МОЖЕТЕ найти ВСЕ подчиненные Nodes данного Node, а только те, которые находятся на ПЕРВОМ уровне вложения!
С уважением, Алексей
...
Рейтинг: 0 / 0
Как перебрать дочерние узлы определённого Item
    #34529477
shanton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор Guest11LOCAL loChildNode
loChildNode = node.Child

DO WHILE NOT ISNULL(loChildNode)
...
loChildNode=loChildNode.Next
ENDDO

можна и так, согласен.

автор Aleksey-K Метод Next у Node переходит на следующий Node ДАННОГО уровня.

Мне это известно, задача именно так и стояла - только ДАННОГО УРОВНЯ. Конечно, чтобы перебратать все дочерние подуровни такой подход не годится. Пока такое делать не приходилось, когдато наверное придётся. Если решение есть под рукой, поделитесь, буду очень благодарен.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как перебрать дочерние узлы определённого Item
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]