Элемент управления "CommunicativeChooseBox"
Элемент управления CommunicativeChooseBox предоставляет функциональность выбора сотрудника из Справочника сотрудников. Соответствует элементу управления Сотрудник Конструктора разметок.
CommunicativeChooseBox содержит следующие функциональные кнопки:-
— флаг состояния выбранного сотрудника в Microsoft Lynс Server. Открывает окно отправки сообщения сотруднику. -
… — открывает окно выбора сотрудника.
-
X — очищает результат выбора сотрудника.
|
Связь с сотрудником возможна только при наличии на компьютере пользователя установленного Microsoft Lynс. |
Свойства
-
AccountName— учетная запись выбранного сотрудника. -
ActiveControl.Text— позволяет получить имя сотрудника, отображенное на элементе управления. -
ContactLoaded— признак доступности сотрудника в сети Lynс. -
HideNotAvailable— при значенииtrue(значение по умолчанию) из быстрого поиска будут скрыты сотрудники с флагомНе показывать при выборе, установленным в Справочнике сотрудников. -
ObjectContext— контекст объектов. Элемент управленияCommunicativeChooseBoxтребует ручной передачи контекста объектов, к примеру, при инициализации карточкиprotected override void OnCardInitialized(EventArgs e) { base.OnCardInitialized(e); InitializeComponent(); this.communicativeChooseBox.ObjectContext = this.ObjectContext; (1) }1 Передача контекста объектов. -
SearchIndex— определяет минимальное количество символов в строке поиска, при котором будет выполнен быстрый поиск с отображением результатов. -
Value— идентификатор выбранного сотрудника. -
ValueResolved— значениеtrueсимволизирует завершение выбора сотрудника.
Методы
-
ChooseValue()— вызывает окно выбора сотрудника. -
GetValue<T>()— возвращает объект с идентификаторомValue, приведенный к указанному типуt. Например, после выбора сотрудника (из списка или окна поиска), его объектная модель может быть получена следующим образом:private void GetSelectedEmployee_Click(object sender, EventArgs e) { var employee = this.communicativeChooseBox.GetValue<DocsVision.BackOffice.ObjectModel.StaffEmployee>(); } -
SetValue(ObjectBase)— переданный объект будет записан в результат выбора сотрудника. Данный метод может быть использован, если необходимо программно задать значение выбора сотрудника. В текстовое поле поиска будет записано отображаемое имя сотрудника.
События
-
CustomChoosingValue— событие срабатывает при нажатии кнопки выбора сотрудника. -
EmployeeChanged— событие срабатывает после выбора сотрудника. -
ButtonClick— нажатие кнопки очистки строки поиска. -
CustomizeSearchQuery— событие срабатывает при выполнении быстрого поиска. Обработка события позволяет изменить поисковый запрос, результаты которого отображаются при вводе текста.Событие
CustomizeSearchQueryвызывается не каждый раз при вводе символов, а только при обращении к серверу Docsvision. При первом обращении результаты помещаются в локальный кэш, время жизни которого — 5 секунд. Если следующий поисковый запрос основан на текущем и кэш не старше 5 секунд, то обращений к серверу не будет и событиеCustomizeSearchQueryне сработает (результаты будут выбраны из кэша).
ICustomizableControl customizable = CardControl;
CommunicativeChooseBox regControl = customizable.FindPropertyItem<CommunicativeChooseBox>("Registrar"); (1)
if (regControl != null && regControl.Value != Guid.Empty)
{
StaffEmployee employee = CardControl.ObjectContext.GetObject<StaffEmployee>(regControl.Value); (2)
MessageBox.Show(string.Format("Фамилия: {0}, имя: {1}", employee.LastName, employee.FirstName));
}
| 1 | Получение элемента управления "Подготовил". |
| 2 | Возвращаем данные сотрудника. |