Вопрос по TreeView | |
---|---|
danton1973 Сообщений: 143 Откуда: Пермь Дата регистрации: 10.08.2020 |
Можно ли каким-то образом в режиме отладки увидеть структуру дерева в том виде, в котором я его создаю:
key_parent,level,key,name,picture и т.д. все созданные узлы? |
Re: Вопрос по TreeView | |
---|---|
pasha_usue Сообщений: 3650 Откуда: Е-бург Дата регистрации: 06.10.2006 |
Можно. Только дебаггер должен быть системным, а не фоксовым.
|
Re: Вопрос по TreeView | |
---|---|
Crispy Сообщений: 18571 Дата регистрации: 16.05.2005 |
Как вариант. Делал когда-то - при формировании дерева просто создавал курсор, отображающий деревянную структуру. При просмотре наглядно. ------------------ В действительности все иначе, чем на самом деле. (Антуан де Сент-Экзюпери) |
Re: Вопрос по TreeView | |
---|---|
danton1973 Сообщений: 143 Откуда: Пермь Дата регистрации: 10.08.2020 |
Цитата:В смысле: This.Nodes.Add(parentKey,level,Key,Name,Picture) Insert into cursor (parentKey,level,Key,Name,Picture) values (parentKey,level,Key,Name,Picture) |
Re: Вопрос по TreeView | |
---|---|
Crispy Сообщений: 18571 Дата регистрации: 16.05.2005 |
Нет, там немного другая структура будет. Нужно сделать курсор - с числом полей по числу уровней дерева. Ну само собой самым первым еще и поле с собственно "адресом" в дереве. А остальные, одно поле - корневая ветка, следующее поле - второй уровень, дальше третий ну и т.п. - по глубине дерева. И потом заполнять его при сканировании - параллельно с деревом. ------------------ В действительности все иначе, чем на самом деле. (Антуан де Сент-Экзюпери) |
Re: Вопрос по TreeView | |
---|---|
dimag Сообщений: 464 Откуда: Одинцово Дата регистрации: 17.12.2002 |
Лучше один раз увидеть (прочитать), чем 100 услышать... лови пример и статью работы с деревом от Doug Henning
1drv.ms ------------------ Глупость - это не отсутствие ума, это такой ум. |
Re: Вопрос по TreeView | |
---|---|
Ydin Сообщений: 7648 Откуда: Киев Дата регистрации: 16.12.2005 |
В Решениях Форума
FalseTree - Дерево в гриде (C)A.Tarasov, Ukraine Kiev 2009 Исправлено 1 раз(а). Последнее : Ydin, 02.04.21 09:50 |
Re: Вопрос по TreeView | |
---|---|
danton1973 Сообщений: 143 Откуда: Пермь Дата регистрации: 10.08.2020 |
Это я видел, но пока не разобрался... |
Re: Вопрос по TreeView | |
---|---|
Crispy Сообщений: 18571 Дата регистрации: 16.05.2005 |
Не знаю, как там у автора этого решения, возможно у него просто достаточно многофункционально как-то сделано, для каких-то целей, отсюда могло и показаться сходу сложным для восприятия. Сам же принцип создания дерева-грида очень простой. Скажем, на базе вышеописанного курсора в качестве ресурса - создается обычный грид. Скрытие-показ веток при этом можно осуществлять кликом по дополнительным промежуточным полям с картинками плюсов-минусов - путем динамической фильтрации самого курсора. Ну и т.п. Различных наворотв можно придумать дальше сколько угодно. Т.е. в принципе на основе всего сказанного не так уж сложно буквально сходу уже и набросать прототип. А потом его дорабатывать уже более конкретно под свои цели и фантазии. При необходимости можно все это затем оформить как класс и использовать в дальнейшем в своих проектах. ------------------ В действительности все иначе, чем на самом деле. (Антуан де Сент-Экзюпери) |
Re: Вопрос по TreeView | |
---|---|
danton1973 Сообщений: 143 Откуда: Пермь Дата регистрации: 10.08.2020 |
Я то просто хотел при отладке проверять состояние TreeView. Так что придётся реализовать через дополнительный курсор.
|
Re: Вопрос по TreeView | |
---|---|
Crispy Сообщений: 18571 Дата регистрации: 16.05.2005 |
Ну просто народ по ходу "развил тему". Пятница как бы. Да и может пригодится когда. ------------------ В действительности все иначе, чем на самом деле. (Антуан де Сент-Экзюпери) |
Re: Вопрос по TreeView | |
---|---|
Taran Сообщений: 13626 Откуда: Красноярск Дата регистрации: 16.01.2008 |
По моему так абсолютно лишнее. На заполнение курсора и его анализ масса ненужных действий. А узнать что-либо о любом узле дерева - ноль проблем. По большому счёту дерево должно быть вообще динамически подгружаемым. Не дешевое это удовольствие полностью грузить (порой). |
Re: Вопрос по TreeView | |
---|---|
danton1973 Сообщений: 143 Откуда: Пермь Дата регистрации: 10.08.2020 |
Как узнать средствами TreeView наличие узла:
THIS.Nodes.REMOVE(m.toNode.KEY + 'www') ? Я без дополнительного курсора не вижу решения. |
Re: Вопрос по TreeView | |
---|---|
Taran Сообщений: 13626 Откуда: Красноярск Дата регистрации: 16.01.2008 |
Type('this.Nodes(tcKey)') = 'O' |
Re: Вопрос по TreeView | |
---|---|
Crispy Сообщений: 18571 Дата регистрации: 16.05.2005 |
Дык это не наглядно. ;) Фигли вводить какой-то код. То ли дело - подвесил курсор через browse - и любуйся, как он по шагам заполняется. Ну и в целом - приятнее же глянуть, окинуть взором так сказать. Нежели чего-то там с чем-то сравнивать. А по поводу "недешевости" - никогда как-то не пользовал очень большие деревья. На мой взгляд, это неправильный в принципе подход - садить большие данные в дерево. Дерево - оно чисто для выбора чего-то не слишком большого, не больше десятков. Типа списка подразделений, подразделов справочников и т.п. Для больших же данных - грид и только грид. И ничего кроме грида! Зачем насиловать для этого дерево. ------------------ В действительности все иначе, чем на самом деле. (Антуан де Сент-Экзюпери) |
Re: Вопрос по TreeView | |
---|---|
Taran Сообщений: 13626 Откуда: Красноярск Дата регистрации: 16.01.2008 |
На подвешивание курсора и любование времени потратишь не меньше, чем на изучение дерева.
Большые наборы и динамик? Банальная структура каталогов или другой справочник. Дерево во многом более наглядно чем грид. А если данные дергаешь из интернета, то без динамики не обойтись. У меня один справочник общего пользования 4 уровня. В низшем 13тыс элементов. Когда все оформлено в виде класса, то вообще легко и просто. С гридом значительно сложней. |
Re: Вопрос по TreeView | |
---|---|
Crispy Сообщений: 18571 Дата регистрации: 16.05.2005 |
И сколько времени оно у тебя обновляется? Мышка не виснет при прокрутке? Оформление в любом случае - дело привычки. Дерево таки же не идеал. Хотя при желании можно и дерево на базе грида, как выше упоминали. Это как бы реально скоростнее в любом случае. ------------------ В действительности все иначе, чем на самом деле. (Антуан де Сент-Экзюпери) |
Re: Вопрос по TreeView | |
---|---|
Taran Сообщений: 13626 Откуда: Красноярск Дата регистрации: 16.01.2008 |
Надеюсь, ты правильно понял, 13тыс элементов не в одной ветке. А в целом на уровень. Иначально грузится нулевой уровень и расширяемые ветки создаются при необходимости. Там один элемент "грузится...".
Соотв при открытии верхнего уровня показывается эта ветка и улетает запрос в веб. При ответе заполняется одна ветка. И так далее. Если в гриде, то нужен отсортированный курсор, механизм отображения ветвей, иконок и разворота. Все это тоже у меня есть на базе класса от Тарасова. Практически весь переписан, в том числе под структуру каталогов и файлов. Естественно динамическое заполнение. Небольшое ограничение у Тарасова есть. Уровень вложенности надо задавать на этапе запуска формы. Часто это не важно, но иногда критично. Дерево в гриде конечно интересно, но только тогда, когда нужно несколько колонок. Допустим я юзаю свой мп3 плайер по мотивам Саши Чембержи. |
Re: Вопрос по TreeView | |
---|---|
sphinx Автор Сообщений: 31189 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
Дим, ------------------ "Veni, vidi, vici!"(с) |
© 2000-2024 Fox Club  |