:: Visual Foxpro, Foxpro for DOS
Раскрыть TreeView
k0t0rez

Сообщений: 19
Откуда: Н.Новгород
Дата регистрации: 04.12.2017
Как раскрыть дерево, зная его key?
Ratings: 0 negative/0 positive
Re: Раскрыть TreeView
Ydin

Сообщений: 7648
Откуда: Киев
Дата регистрации: 16.12.2005
Давно не пользуюсь, благодаря Тарасову (см. в решениях тут на форуме) - у него дерево на Фоксе.
Вот нашел код на объекте Tree в методе NodeClick
k0t0rez
*** OLE Control Event ***
LPARAMETERS NODE
IF !ISNULL(NODE) AND TYPE("NODE.visible")="L"
NODE.SELECTED = .T.
ENDIF
IF THISFORM.VISIBLE
THIS.SETFOCUS
ENDIF
Ratings: 0 negative/0 positive
Re: Раскрыть TreeView
Taran

Сообщений: 13626
Откуда: Красноярск
Дата регистрации: 16.01.2008
k0t0rez
Как раскрыть дерево, зная его key?

Видимо речь все-таки про одну ветвь?

this.Nodes(m.lcKey).Expanded = .T.
В данном случае "this" - это и есть "tree".
Ratings: 0 negative/0 positive
Re: Раскрыть TreeView
Ydin

Сообщений: 7648
Откуда: Киев
Дата регистрации: 16.12.2005
NodeClick - метод, кот. передается узел (ветвь)
Да, Expanded!
Cкажем,
NODE.Expanded = NOT Node.Expanded



Исправлено 2 раз(а). Последнее : Ydin, 10.05.18 17:54
Ratings: 0 negative/0 positive
Re: Раскрыть TreeView
Igor Korolyov
Автор

Сообщений: 34580
Дата регистрации: 28.05.2002
Да, свойство Expanded родителей - плюс, возможно, EnsureVisible чтобы "прокрутить" дерево и этот узел стал видимым.
Но проблема на самом деле несколько глубже - зачастую деревья (особенно с большим числом уровней и элементов) НЕ загружают целиком в объект (используют "загрузку при раскрытии") - а значит для реализации "хотелки" нужно иметь метод "разузлования" - т.е. по заданному Key найти всех родителей вплоть до "корня", и уже зная их ключи последовательно их "раскрывать", возможно вызывая метод динамического "дополнения" дерева.


------------------
WBR, Igor
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 29 (Гостей: 29)

© 2000-2024 Fox Club 
Яндекс.Метрика