Определение Root'a в TreeView | |
---|---|
collega |
Привет всем!
Что-то затупился совсем (наверное, слишком много пишу прог ;)) Проблема: Как одной строчкой (условием) опеределить, что выбранный узел является Root'ом, т.е. IF .SelectedItem..... (т.е. это именно самый верхний и первый узел в дереве) тут кое-какой мой код - это неважно ENDIF Вариант .Nodes(1) не подходит, т.к. при сортировке TreeView он может быть не самым первым и верхним узлом. Best regards! |
Re: Определение Root'a в TreeView | |
---|---|
Hel!Riser Сообщений: 10452 Откуда: Нижний Новгород Дата регистрации: 11.03.2001 |
TYPE('Node(tcKey)'.parent)#'O' или типа того
------------------ Осторожно - глисты! |
Re: Определение Root'a в TreeView | |
---|---|
piva Сообщений: 18655 Откуда: Курган Дата регистрации: 24.03.2004 |
.SelectedItem.Root - или у любого Nodes - .Nodes(1).Root
------------------ Часто бывает так, что есть над чем задуматься, а нечем. |
Re: Определение Root'a в TreeView | |
---|---|
Hel!Riser Сообщений: 10452 Откуда: Нижний Новгород Дата регистрации: 11.03.2001 |
или еще вот
------------------ Осторожно - глисты! |
Re: Определение Root'a в TreeView | |
---|---|
OLEGarh Сообщений: 575 Откуда: Нйжний Новгород Дата регистрации: 07.02.2005 |
Не катит, т.к. может быть несколько узлов на самом верхнем уровне, т.е.:
Node1 ИМЕННО ЭТО УЗЕЛ (SelectedItem по NodeClick) и надо определить, | что он - самый первый и верхний |_SubNode11 | |_SubNode12 Node2 | |_SubNode121 | |_SubNode122 Node3 и т.д.... И для всех Nodei выражение ISNULL(TreeView.SelectedItem.Parent) вернет .T., а также и выражение VARTYPE(TreeView.SelectedItem.Parent) == 'O' будет ложным |
Re: Определение Root'a в TreeView | |
---|---|
Hel!Riser Сообщений: 10452 Откуда: Нижний Новгород Дата регистрации: 11.03.2001 |
вопщем-та можна обойтись заведением проперти и при создании узна тиснуть его на хранение
------------------ Осторожно - глисты! |
Re: Определение Root'a в TreeView | |
---|---|
Igor Korolyov Автор Сообщений: 34580 Дата регистрации: 28.05.2002 |
Hi OLEGarh!
Вообще-то если на верхнем уровне НЕСКОЛЬКО узлов, то строго формально они все и являются Root-ами Ты можешь ЛОГИЧЕСКИ указать какой из них Root и ПОЧЕМУ именно он Я - нет. потому для простоты можно ВСЕГДА вводить один "фиктивный" узел - если предполагается что на первом уровне будет несколько узлов... Так кстати и перемещение узлов проще делать - всегда есть Parent к которому можно прицепиться. ------------------ WBR, Igor |
© 2000-2024 Fox Club  |