Возможно ли расширение нескольких узлов в Virtual TreeView? - PullRequest
3 голосов
/ 19 января 2010

Я использую TVirtualStringTree (часть Virtual TreeView Component ) в моем проекте Delphi , и я хотел бы создать представление, в котором 2 столбца могут иметь дочерние элементы, которые можно расширять складывается со знаком [+]. На рисунке ниже в качестве примера я хотел бы иметь знак [+] в столбце сервера, а также в столбце изображения. Идея состоит в том, что в дереве есть несколько узлов Сервера, каждый из которых имеет множество дочерних процессов (основной столбец которых - изображение), а некоторые процессы имеют подпроцессы, которые являются потомками узла процессов.

alt text
(источник: remkoweijnen.nl )

Возможна ли такая раскладка? Если бы не компонент по умолчанию, я был бы признателен за совет о том, как реализовать это в потомке.

/ Edit: следующие снимки экрана при использовании метода, предложенного TOndrej: альтернативный текст http://www.remkoweijnen.nl/temp/TreeView2.png альтернативный текст http://www.remkoweijnen.nl/temp/TreeView3.png альтернативный текст http://www.remkoweijnen.nl/temp/TreeView4.png

ОК, я решил реализовать согласно идее TOndrej: альтернативный текст http://www.remkoweijnen.nl/temp/TreeView5.png

Ответы [ 2 ]

4 голосов
/ 19 января 2010

Скорее всего, вам это не нужно.Просто сделайте себе четкое определение того, какая группировка вам нужна.Первый столбец может быть многоцелевым - отображать различную информацию на каждом уровне группировки - например, уровень 0: сервер, уровень 1: процесс, уровень 2 и выше: дочерний процесс.На каждом уровне только столбцы, относящиеся к этому уровню, должны отображать какую-либо информацию.В приведенном выше примере уровень 0 будет отображать имя сервера только в первом столбце;остальные столбцы останутся пустыми.

Вы могли бы реализовать столько знаков плюс, сколько захотите, с помощью пользовательского рисунка, но это потребует много работы, и я действительно считаю, что результат не нужен, необычен и легкосбивает с толку пользователя.

3 голосов
/ 19 января 2010

Только один столбец может иметь дерево, остальные столбцы действуют как просмотр списка.Столбец с деревом является основным столбцом.

Я бы не знал, как будет работать ваша группировка, если у двух столбцов есть дерево, и они могут «конфликтовать».Что такое родительский узел и т. Д. И т. П. GUI технически это может быть не лучшим способом сообщить эти детали;пользователь не будет ожидать, что он будет работать таким образом.

...