| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > VirtualTreeView |
| Автор: aaav 4.3.2009, 12:12 |
| Добрый день. заполняю VTreeView из БД, структура не дерево, реализация - как описано в статье. Т.к. в таблице много полей, то в VTreeView - отображаю только несколько столбцов. Подскажите как можно сделать что бы в каждой строке всегда отображался + и по его нажатию (Expanding) - разворачивался список с дочерними ветками (addChild) в которые занести данные других столбцов таблицы. Спасибо! |
| Автор: Poseidon 4.3.2009, 12:32 |
| Так если у тебя addChild, то + автоматически появится. |
| Автор: aaav 4.3.2009, 12:43 |
| дочерних узлов первоначально нет, заполнил из БД и все (но прорисовал не все столбцы, их много), теперь хочу отобразить + и по его нажатию сделать добавление дочерних узлов, а в них добавить в данные из остальных столбцов |
| Автор: pethead 10.3.2009, 10:31 |
| пробую так же отобразить на VT выборку из БД. но я работаю с mysql напрямую потому у меня данные возвращаются в структурах Row: PMYSQL_ROW; количество я получаю через mysql_field_count и потом перебором пока not nil выбираю Row:=mysql_fetch_row вот думаю как бы прикрутить VT по примеру из доки... |
| Автор: aaav 11.3.2009, 00:49 | ||
Делаю как в примере в статье:
все великолепно работает, но я хочу что бы в дереве выводилось не только линейно ID, Name_1, но и у каждой такой строки были бы дочерние узлы содержащие каждый Name_2 и Name_3 как такое можно реализовать? |
| Автор: aaav 14.3.2009, 11:55 |
| Неужели никто не подскажет? |
| Автор: aaav 30.3.2009, 20:56 |
| Может все же кто-то поможет? |
| Автор: pethead 1.4.2009, 18:24 |
| ну так порождая эти ноды и заполняй их. а так ты сам все делаешь линейно - линейно и выходит. |
| Автор: AndrewPA 12.4.2009, 17:00 |
| я думаю что в событии InitNode можно добавить к записи RootNode (или 0 level) свойство - имеет детей InitialStates:=InitialStates+[vchashchildren] У тебя у каждой записи появится + по которому ты можешь нажать и вывзвать событие initchildren где укажешь сколько детей ты хочешь показать узла и после этого у тебя будет вызов GetText для детей. Чтото типа того |
| Автор: dvamaster 15.4.2009, 08:20 |
| Еще вариант, добавить Child с названием к примеру "идет запрос". При раскрытии выполняешь запрос и обновляешь детей, удаляя самый первый ("идет запрос"). Получишь еще и визуальную "симпатяшку" |