![]() |
|
|
![]()
|
|
| sp75 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 17.5.2007 Репутация: 1 Всего: 1 |
Можно ли временно спрятать TTreeNode в TtreeView не удалая его ? Спасибо.
|
|||
|
||||
| SenkraD |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 3.2.2006 Где: Украина::Киев Репутация: 9 Всего: 23 |
Напрямую, кажись, нет, но можно его не отрисововать.
|
|||
|
||||
| sp75 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 17.5.2007 Репутация: 1 Всего: 1 |
В OnCustomDrawItem мжно делать DefaultDraw = false;, тогда не красиво выбитые узлы смотрятся.
Может както можно через OnCustomDraw, высоту TCanvas установить в 0 ? |
|||
|
||||
| Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 34 Всего: 59 |
Не думаю, что это лучший вариант. Мне кажется будет глючить мышь (если вообще такой метод сработает) Я бы не усложнял жизнь - спокойно удалял бы из дерева (ведь это только просмотр) и если узел нужен впоследствии, сохранял бы его в отдельном списке, а когда он понадобится - опять его привязывал к узлу. |
|||
|
||||
| SenkraD |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 3.2.2006 Где: Украина::Киев Репутация: 9 Всего: 23 |
Anikmar, согласен.
sp75, вообщем можно сделать так 1. Сохраняеш дерево в файл. 2. Удаляеш ненужные на время узлы 3. когда нужно грузиш с файла Как показала практика с файла грузится быстрее - мой друг сначала формулировал фалй с табами или пробелами, а потом его грузил. Да, но это хорошо если нужно загрузить большой кусок дерева (около 1000 и больше) в случае одного можно добавлять и через Insert |
|||
|
||||
| sp75 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 17.5.2007 Репутация: 1 Всего: 1 |
Ну а если я хочу засветить один из 10 скрытых узлов, так мне нада 10 файлов иметь + их обновлять если какие узлы мнялись.
Вычитал в сети что както можно откреплять TTreeNode от дерева, говорят он живет и без него , как это сделать не пойму, Parent TTreeNode менять нельзя. Это сообщение отредактировал(а) sp75 - 17.5.2007, 13:43 |
|||
|
||||
| Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 34 Всего: 59 |
Если он поддерживает метод Assign, то можно его скопировать в отдельный объект, а из дерева удалить.
А что, у вас к Node объект привязан? Я просто не вижу большой сложности хранить список скрытых узлов в отдельном списке и включать их в дерево по мере необходимости. |
|||
|
||||
| sp75 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 17.5.2007 Репутация: 1 Всего: 1 |
Да, у меня связь TtreeView <=> Table, Мне не надо светить в TtreeView все записи некоторые должны быть спрятаны, и когда надо их востановить в TtreeView с точным порядком что и в Table. Можно это написать в ручную но много кода выйдет думал есть выход по проще Visible в TTreeNode, или чето в этом духе.
|
|||
|
||||
| Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 34 Всего: 59 |
Если записей немного - то фактически можно ограничиться одной функцией - перенос таблицы в дерево.
Если записей много, то вижу смысл все их закачать на клиента в локальный массив, работать с ним, а функция уже будет выводить в дерево не таблицу, а массив (так сделал я - у меня есть выбор номенклатуры, которая состоит из десятков тысяч записей). Так как операции редактирования, удаления и добавления не такие частые, а в основном есть операция выбора номенклатуры, а в зависимости от фильтров нужно или отображать ннекоторые позиции или нет, то я и поступил так. Скачал весь номенклатор в массив, а при выборе позиции уже формирую дерево. Конечно при перестановке филтра оно мигает, но пользователь не так часто переключает фильтр, чтобы это сильно раздражало. |
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |