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

Элемент управления CardChooseBox предоставляет функциональность выбора карточки с возможностью фильтрации по типу, а также открытия ранее выбранной карточки. Соответствует элементу управления Карточка Конструктора разметок.

Элемент управления "CardChooseBox"
Рисунок 1. Элемент управления "CardChooseBox"
CardChooseBox содержит следующие функциональные кнопки:
  • …​ — открывает окно выбора карточки.

  • X — очищает результат выбора карточки.

  • Увеличительное стекло — открывает выбранную карточку.

В списке задач элемента управления CardChooseBox можно изменить тип редактора для элемента управления. Тип редактора определяет возможности элемента управления.

Для полнофункциональной работы элемента управления CardChooseBox должен быть установлен тип DocsVision.BackOffice.WinForms.Controls.ChooseBox (значение по умолчанию).

Свойства

  • Caption — определяет заголовок окна выбора карточки.

  • CardControl — возвращает ссылку на компонент карточки (унаследован от CardControl), на котором расположен данный элемент управления.

  • CardOpenMode — определяет режим открытия карточки при нажатии кнопки открытия карточки. Доступны следующие варианты:

    • Standard — разрешено редактирование карточки.

    • ReadOnly — карточка будет открыта в режиме чтения.

  • CardsFilter — текстовый фильтр для отбора карточек.

    Текстовый фильтр может быть составлен вручную или создан при помощи утилиты Docsvision Explorer, входящей в Resource Kit.

    Примера запроса, выбирающего задания, в которых текущий сотрудник назначен контролёром:
    <?xml version="1.0" encoding="UTF-8"?>
    <Search Version="4300" Limit="100" CombineResults="OR">
     <AttributiveSearch>
       <CardTypeQuery CardTypeID="{C7B36F33-CDD4-4DA9-8444-600FE14111E4}">
         <SectionQuery Version="4300" SectionTypeID="{20D21193-9F7F-4B62-8D69-272E78E1D6A8}">
           <ConditionGroup Alias="alias2" Operation="OR">
             <Condition Alias="alias3" ParameterAlias="SW_I" SearchWord="true">
               <Field FieldType="refid">Controller</Field>
               <Op>EQ</Op>
               <Value>'{9E3ED92F-9474-4725-9823-F2C1A7122CD3}'</Value>
             </Condition>
           </ConditionGroup>
         </SectionQuery>
       </CardTypeQuery>
     </AttributiveSearch>
     <Params>
       <Param Alias="SW_I" Name="" Type="uniqueid" Flags="3" Value="{9E3ED92F-9474-4725-9823-F2C1A7122CD3}" ContextWord="{48293072-F090-47F5-8A9E-8C041884B6CA}" />
     </Params>
    </Search>

    Перед записью запроса в свойство элемента управления CardChooseBox, запрос необходимо перевести из многострочного варианта в однострочный.

  • CardsTypeID — позволяет ограничить выбор карточек типом с заданным идентификатором.

  • CommandMenuStrip — позволяет установить новое контекстное меню.

  • Enabled — при значении false будет заблокирована возможность ввода теста в область ввода.

  • InheritedCaption — задаёт строку, отображаемую в области ввода, если была выполнена очистка результат выбора карточки. Работает при установленном InheritedValue.

  • InheritedValue — задаёт идентификатор предустановленной карточки. Данная карточка будет открыта при нажатии кнопки открытия карточки, если была выполнена очистка результатов выбора карточки.

  • ObjectContext — контекст объектов. Рекомендуется самостоятельно передавать контекст объектов в CommunicativeChooseBox, к примеру, при инициализации карточки:

    protected override void OnCardInitialized(EventArgs e)
    {
     base.OnCardInitialized(e);
     InitializeComponent();
    
     this.cardChooseBox.ObjectContext = this.ObjectContext; (1)
    }
    1 Передача контекста объектов.
  • OpenCardButtonInvisible — при значении true, кнопка открытия карточки будет скрыта.

  • SearchTemplate — при значении true, запрещает вывод шаблонов в список карточек.

  • Session — возвращает сессию пользователя.

  • SimpleView — при установленном значении true, будут скрыты все кнопки управления.

  • Text — значение, отображаемое в области ввода.

  • Value — идентификатор выбранной карточки.

  • ValueResolved — возвращает true, если карточка выбрана.

Методы

Наиболее интересные методы:
  • ChooseValue() — открывает окно выбора карточки;

  • FilterCardKinds(IEnumerable<Guid>) — при заданном CardsTypeID, ограничивает выбор карточек перечисленными видами.

Событие ValueChanged оповещает о том, что карточка была выбрана.