Элемент управления DictionaryTreeViewPanel (из пространства имен Ultima.Client.Controls) используется для отображения содержимого древовидного справочника. Он состоит из:
•панели инструментов (1);
•таблицы записей справочника (2) – элемента управления TreeList пакета DevExpress:
Элемент управления обладает следующими специфичными свойствами:
•DictionaryType – справочник, с данными которого работает элемент управления;
•AllowEmptyFilter – в значении true позволяет применять к записям справочника незаполненный фильтр (15), который вернет все записи справочника. В значении false незаполненный фильтр вернет null;
•AutoBestFitAfterColumnSelection – в значении true после выбора отображаемых в дереве (TreeList) колонок, для них будет автоматически подобрана оптимальная ширина;
•CanDragToolbar – в значении true позволяет изменять положение панели инструментов (1);
•CheckColumnVisible – в значении true отображается колонка выбора записей справочника:
•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), обращение к базе данных при этом не происходит. В результате поиска в таблице остаются все отображенные ранее записи, но при этом у них подсвечиваются вхождения искомого фрагмента:
•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.
Класс элемента управления DictionaryTreeViewPanel реализует следующие методы и обладает следующими свойствами:
•DictionaryType, типа type – возвращает тип справочника;
•SelectedList, типа IDList – возвращает список идентификаторов выбранных в элементе управления записей справочника;
•GetIDList(IEnumerable<TreeListNode> nodes) – возвращает список идентификаторов записей справочника для указанных узлов дерева;
•LoadRecords() – загружает записи справочника в элемент управления TreeList;
•ApplyCustomFilter – событие, которое выполняется после загрузки записей (LoadRecords). Поддерживает строго типизированные фильтры и может выполняться асинхронно.