Для отображения на экране иерархических списков в стиле программы Проводник ОС Windows служит визуальная модель TreeView.
Экранное представление такой модели состоит из двух панелей - управляющего элемента, отражающего древовидную иерархию групп (категорий) данных, и компонента, предназначенного для отображения дочерних элементов выделенной группы (листьев). Более подробную информацию по непосредственной работе с данной моделью в рабочем режиме можно получить здесь. На следующем рисунке приведен экранный снимок такой модели, запущенной на исполнение:
Структура описания модели TreeView состоит из двух частей, отражающих как общие ее свойства, так и характеристики каждого уровня детализации. При этом, в качестве источника данных, отображаемых тем или иным уровнем дерева, чаще всего используется Query-модель.
Свойства модели TreeView
Свойство | Описание |
Код (Code) |
Обязательный уникальный код (обозначение) модели |
Имя (Name) |
Служебное имя модели |
Заголовок (Header) |
Заголовок для окна-подложки |
Параметры (Parameters) |
Список параметров модели в формате: <name>:<datatype>[=<DefaultValue>] |
Описание (Description) |
Произвольный текст с дополнительным описанием модели |
Флаги | |
Lines at Root | |
Show Buttons | |
Show Lines | |
Enable Drag&Drop | |
Drag auto |
Уровни TreeView
Свойство | Описание |
Уровень (Level) | Порядковый номер уровня в дереве |
Рекурсивный (Recursive) | Уровень рекурсивный, автоматически создающий свои подуровни неограниченной вложенности. Рекурсивный уровень в дереве может быть только один - самый последний в списке. Дальнейшие уровни игнорируются. |
Тип источника (Source Type) | Тип источника данных. Возможные значения: Array, QueryModel, |
Источник данных (Source) |
Источник данных для уровня дерева. В случае указания в качестве типа источника - Array (массив), текст источника вводится в формате: <DisplayValue1>^<Data1>|<DisplayValue2>^<Data2>|..., Для типа QueryModel, текст содержит спецификацию вызова модели в виде: <controller|*>.<model>[?<parameters>] |
Folder expression | (exp) Выражение, результат вычисления которого должен принимать одно из следующих значений: 1 - папка (узел) в дереве, 0 - конечный элемент (лист) дерева |
Display Column | (exp )Выражение, результат вычисления которого отображается в качестве надписи элемента дерева (TreeViewItem.Text) |
Первичный ключ (Primary Key) |
Список колонок через запятую, которые являются первичным ключом источника данных. В большинстве случаев вычисляется автоматически и не обязателен для ввода |
Retrieve Expression | Описание аргументов через запятую, передаваемых уровню дерева для выборки его данных. Ссылка на один аргумент вводится в относительном или абсолютном формате: :<Parent>.<ParentNumber>.<Column>, или :<Level>.<LevelNumber>.<Column> |
Иконка основная | Иконка, используемая по умолчанию |
Иконка выбора | Иконка, используемая для выделения активного узла в дереве |