Элемент управления DictionaryGridPanel (из пространства имен Ultima.Client.Controls) используется для отображения и редактирования содержимого плоского или древовидного (записи также представлены в виде списка) справочника. Он состоит из:
•панели инструментов (1);
•таблицы записей справочника (2) – элемента управления GridControl пакета DevExpress. Редактирования записей осуществляется непосредственно в таблице:
Элемент управления обладает следующими специфичными свойствами:
•DictionaryType – справочник, с данными которого работает элемент управления;
•AutoPopulateGridColumns – в значении true колонки таблицы (GridControl) (2) создаются автоматически для всех свойств привязанного к элементу справочника. В значении false используются колонки, созданные прикладным разработчиком;
•CanDragToolbar – в значении true позволяет изменять положение панели инструментов (1);
•DeleteButtonEnabled – в значении true кнопка удаления записей справочника (4), если она отображается в панели инструментов, доступна для нажатия. Свойство выставляется автоматически в зависимости от прав пользователя, открывающего форму справочника;
•DeleteButtonVisible – в значении true отображается кнопка удаления записей справочника (4);
•NameFilterMode – задает режим осуществления поиска с помощью поля (5):
▪в значении filter (по умолчанию) все записи справочника фильтруются по вхождению искомого текста;
▪в значении search поиск осуществляется только среди записей, отображенных в таблице (GridControl), обращение к базе данных при этом не происходит. В результате поиска в таблице остаются только удовлетворяющие условию записи, при этом у них подсвечиваются вхождения искомого фрагмента:
•NameFilterVisible – в значении true отображается поле поиска (5). Поиск осуществляется по полю справочника, определяемого его свойством Search property;
•NameFilterWidth – ширина в пикселях поля поиска (5);
•NewButtonEnabled – в значении true кнопка создания новой записи справочника (3), если она отображается в панели инструментов, доступна для нажатия. Свойство выставляется автоматически в зависимости от прав пользователя, открывающего форму справочника;
•NewButtonVisible – в значении true отображается кнопка создания новой записи справочника (3);
•ReloadButtonVisible – в значении true отображается кнопка перезагрузки записей справочника (6);
•SaveButtonEnabled – в значении true кнопка сохранения внесенных в записи справочника изменений (7), если она отображается в панели инструментов, доступна для нажатия;
•SaveButtonVisible – в значении true отображается кнопка сохранения внесенных в записи справочника изменений (7);
•ToolbarVisible – в значении true отображается панель инструментов (1).
При использовании элемента управления помимо указания типа справочника DictionaryType в его свойствах, необходимо привязать справочник того же типа к входящему в его состав элементу управления GridControl.
Класс элемента управления DictionaryGridPanel реализует следующие методы и обладает следующими свойствами:
•DictionaryType, типа type – возвращает тип справочника;
•LoadRecords() – загружает записи справочника в элемент управления GridControl;
•SaveRecords() – сохраняет отредактированные записи справочника;
•SaveAndReload() – сохраняет отредактированные записи справочника и перезагружает список записей;
•ApplyCustomFilter – событие, которое выполняется после загрузки записей (LoadRecords). Поддерживает строго типизированные фильтры и может выполняться асинхронно.