Элемент управления DictionaryMultiSelectEdit (из пространства имен Ultima.Client.Controls) исполняет функционал элемента управления CheckedComboBoxEdit пакета DevExpress. Используется для выбора нескольких записей плоского или древовидного (записи также представлены в виде списка) справочника:
Элемент управления обладает следующими специфичными свойствами:
•DictionaryType – справочник, с данными которого будет работать элемент управления;
•AllowClear – в значении true отображается кнопка, сбрасывающая выбранные в элементе управления значения (5);
•IDEditAutoWidth – в значении true (по умолчанию) ширина поля (1) IDEditWidth трактуется, как минимальная ширина поля (включая кнопки (2) и (3)). При этом, если вводимый идентификатор не помещается в поле (1), ширина поля автоматически увеличивается соответственно размерам вводимого номера;
•IDEditVisible – в значении true отображается поле кода записи (1). В значении false кнопки (2) и (3) смещаются направо за поле (4):
СКРИНШОТ
•IDEditWidth – общая ширина блока, включающего поле (1) и кнопки (2), (3);
•LookupButtonVisible – в значении true отображается кнопка, по которой раскрывается список элемента управления (2);
•SelectButtonVisible – в значении true отображается кнопка открытия списковой формы справочника для выбора записи (3).
На функционал и внешний вид DictionaryMultiSelectEdit влияют следующие свойства справочников:
•Is small – для маленьких справочников, с установленным флагом Is small, недоступен функционал поиска. Но при этом в элемент управления при открытии попадает выборка всех записей справочника; |
•Записи больших справочников при первом открытии в элемент управления не попадают. Для их отображения необходимо воспользоваться поиском, ограничивающим выборку; |
•Display format – определяет формат, в котором в поле (4) элемента управления будут отображаться выбранная запись. Для приведенного в примере справочника товаров значение этого параметра "{ID}, {Name}". Если значение Display format не задано, формат будет сформирован из значений всех свойств справочника, кроме свойств типа LargeText и byte[]:
•Search property – определяет, по какому свойству справочника будут производится поиск. Для приведенного в примере справочника товаров значение этого параметра "Name";
•Lookup – атрибут свойств справочника – определяет, что свойство справочника будут отображаться в выпадающем списке элемента управления (идентификатор записи справочника ID отображается всегда). Если ни одно из свойств справочника не помечено этим атрибутом, в список попадут свойства, перечисленные в Display format. Если Display format также пуст – в списке элемента управления выводятся все свойства, кроме свойств типа LargeText и byte[];