Элемент управления "CardChooseBox"

Элемент управления CardChooseBox является специализированной версией ChooseBox, предназначенной только для выбора карточек.

Этот элемент управления не поддерживает технологию Data Binding, поэтому для его использования потребуется вручную написать код для инициализации существующих данных, и для сохранения результата выбора. Вместе с тем данный элемент управления предоставляет большую гибкость по сравнению с BoundChooseBox, за счет того, что позволяет разработчику управлять особенностями своей работы. CardChooseBox позволяет указывать поисковый запрос для фильтрации карточек, доступных на выбор. Это позволит, например, ограничить область выбора конкретным типом карточек.

Для указания фильтра используется свойство CardsFilter, которое доступно только программно (в runtime). В качестве значения свойства необходимо установить ссылку на предварительно созданный объект SearchQuery (подробнее об использовании поиска в соответствующей главе).

Остальные свойства элемента управления CardChooseBox соответствуют аналогичным свойствам BoundChooseBox.

Для чтения выбранного значения из элемента управления можно использовать свойства Text (отображаемое значение) и Value (идентификатор выбранного значения), а также событие OnValueChanged(object sender, System.EventArgs e) — которое инициируется после завершения нового выбора.

Пример инициализации элемента управления CardChooseBox ограничивающий возможность выбора только карточками файла:

const string FILE_CARD_TYPE = "{2BBD0A41-265E-4FF8-82D6-C6342F34B1AF}";
SearchQuery query = session.CreateSearchQuery();
query.AttributiveSearch.CardTypeQueries.AddNew(new Guid(FILE_CARD_TYPE));
cardChooseBox1.CardsFilter = query;