Элемент управления DictionaryTreeViewPanel (из пространства имен Ultima.Client.Controls) используется для отображения содержимого древовидного справочника. Он состоит из:

панели инструментов (1);

таблицы записей справочника (2) – элемента управления TreeList пакета DevExpress:

Control_DictionaryTreeViewPanel

Элемент управления обладает следующими специфичными свойствами:

DictionaryType – справочник, с данными которого работает элемент управления;

AllowEmptyFilter – в значении true позволяет применять к записям справочника незаполненный фильтр (15), который вернет все записи справочника. В значении false незаполненный фильтр вернет null;

AutoBestFitAfterColumnSelection – в значении true после выбора отображаемых в дереве (TreeList) колонок, для них будет автоматически подобрана оптимальная ширина;

CanDragToolbar – в значении true позволяет изменять положение панели инструментов (1);

CheckColumnVisible – в значении true отображается колонка выбора записей справочника:

Control_DictionaryTreeViewPanel2

CloneButtonEnabled – в значении true кнопка клонирования записей справочника (5), если она отображается в панели инструментов, доступна для нажатия. Свойство выставляется автоматически в зависимости от прав пользователя, открывающего форму справочника;

CloneButtonVisible – в значении true отображается кнопка клонирования записей справочника (5);

CommandsMenuVisible – в значении true отображается кнопка списка команд над записями справочника (9). Кнопка видна только если существуют команды над записями справочника этого типа;

CommonRootNodeVisible – в значении true отображается родительский для всех записей справочника уровень (All) в дереве (TreeList);

DeleteButtonEnabled – в значении true кнопка удаления записей справочника (4), если она отображается в панели инструментов, доступна для нажатия. Свойство выставляется автоматически в зависимости от прав пользователя, открывающего форму справочника;

DeleteButtonVisible – в значении true отображается кнопка удаления записей справочника (4);

EditButtonEnabled – в значении true кнопка редактирования записи справочника (6), если она отображается в панели инструментов, доступна для нажатия. Свойство выставляется автоматически в зависимости от прав пользователя, открывающего форму справочника;

EditButtonVisible – в значении true отображается кнопка редактирования записи справочника (6);

FilterButtonVisible – в значении true отображается кнопка открытия/сокрытия панели фильтра (14);

FilterPanelVisible – в значении true отображается панель фильтра (15);

FilterPanelWidth – ширина в пикселях панели фильтра (15) по умолчанию;

IDEditVisible – в значении true отображается поле быстрого открытия записи по коду (7):

NameFilterMode – задает режим осуществления поиска с помощью поля (8):

в значении filter (по умолчанию) все записи справочника фильтруются по вхождению искомого текста;

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

Control_DictionaryTreeViewPanel3

NameFilterVisible – в значении true отображается поле поиска (8). Поиск осуществляется по полю справочника, определяемого его свойством Search property;

NameFilterWidth – ширина в пикселях поля поиска (8);

NewButtonEnabled – в значении true кнопка создания новой записи справочника (3), если она отображается в панели инструментов, доступна для нажатия. Свойство выставляется автоматически в зависимости от прав пользователя, открывающего форму справочника;

NewButtonVisible – в значении true отображается кнопка создания новой записи справочника (3);

PrintButtonVisible – в значении true отображается кнопка печати (10);

QuickCommandsVisible – в значении true в нижней части элемента управления отображается панель с командами над записями справочника, добавленными в быстрый доступ. Панель видна только в том случае, если в нее были добавлены команды;

ReloadButtonVisible – в значении true отображается кнопка перезагрузки записей справочника (13);

SaveSelectedColumns – в значении true подбор колонок, осуществленный пользователем с помощью соответствующего инструмента (11), будет запомнен;

SelectColumnsButtonEnabled – в значении true кнопка подбора колонок (11), если она отображается в панели инструментов, доступна для нажатия;

SelectColumnsButtonVisible – в значении true отображается кнопка подбора выводимых в таблице колонок свойств записей справочника (11);

SubfoldersButtonChecked – в значении true кнопка подпапок (12) нажата;

SubfoldersButtonVisible – в значении true отображается кнопка подпапок (12);

ToolbarVisible – в значении true отображается панель инструментов (1).

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

DevBookmark_Scripts Класс элемента управления DictionaryTreeViewPanel реализует следующие методы и обладает следующими свойствами:

DictionaryType, типа type – возвращает тип справочника;

SelectedList, типа IDList – возвращает список идентификаторов выбранных в элементе управления записей справочника;

GetIDList(IEnumerable<TreeListNode> nodes) – возвращает список идентификаторов записей справочника для указанных узлов дерева;

LoadRecords() – загружает записи справочника в элемент управления TreeList;

ApplyCustomFilter – событие, которое выполняется после загрузки записей (LoadRecords). Поддерживает строго типизированные фильтры и может выполняться асинхронно.