Доступ к элементам управления карточки
Приведенная далее функциональность доступна только карточкам, компонент которых унаследован от базового класса |
Базовый класс карточки (BaseCardControl
) реализует интерфейс ICustomizableControl
, методы которого можно использовать для доступа к элементам управления карточки.
К примеру, метод ICustomizableControl.FindPropertyItem
может быть использован для поиска элементов управления с известным названием и типом:
private void FindControl_ItemClick(System.Object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
ICustomizableControl customizable = CardControl as ICustomizableControl; (1)
var theme = customizable.FindPropertyItem<DevExpress.XtraEditors.TextEdit>("Theme"); (2)
}
1 | Получение доступа к разметке карточки. |
2 | Получение элемента управления типа для работы со стройкой текста с именем Theme . |
Название элемента управления представлено в свойствах элемента управления в разметке карточки (Конструктор разметок).
Для определения типа элемента управления можно воспользоваться таблицей, приведенной ниже.
Стандартные элементы управления
Тип элемента управления | Тип для поиска |
---|---|
Вид |
|
Время |
|
Выбор вида |
|
Выбор папки |
|
Группа радио кнопок |
|
Да / Нет |
|
Дата |
|
Дата/Время |
|
Дерево исполнения |
|
Дерево связей |
|
Значение из справочника |
|
Изображение |
|
История |
|
Карточка |
|
Категории |
|
Кнопка |
|
Коллекция значений |
|
Контрагент |
|
Нумератор |
|
Обсуждение |
|
Подразделение |
|
Подразделение контрагента |
|
Поле секции |
|
Предпросмотр файла |
|
Просмотр состояния |
|
Радио кнопка |
|
Сотрудник |
|
Сотрудники |
|
Список |
|
Ссылки |
|
Строка |
|
Строка конструктора справочников |
|
Таблица |
|
Текст |
|
Целое число |
|
Число |
|
-
Тип элемента управления — тип, который указан в свойстве искомого элемента управления в разметки карточки, в Конструкторе разметок.
-
Тип для поиска — тип, по которому можно выполнить поиск элемента управления.
Для работы со значениями элементов управления, рекомендуется получать элементы управления по интерфейсу ILayoutPropertyItem
, который предоставляет метод сохранения изменений — Commit
.
private void SetPreviousDate_ItemClick(System.Object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
ICustomizableControl customizable = CardControl;
ILayoutPropertyItem registrationDate = customizable.FindPropertyItem<ILayoutPropertyItem>("RegistrationDate"); (1)
registrationDate.ControlValue = DateTime.Now.AddDays(-1); (2)
registrationDate.Commit(); (3)
}
1 | Получение даты регистрации документа. |
2 | Предыдущий день (без анализа выходных дней). |
3 | Сохранение свойств элемента. |
private void GetThemeButton_Click(System.Object sender, System.EventArgs e)
{
ICustomizableControl control = CardControl;
DocsVision.BackOffice.WinForms.Controls.Preview previewControl = control.FindPropertyItem<DocsVision.BackOffice.WinForms.Controls.Preview>("PreviewControl"); (1)
previewControl.ShowPreview(@"c:\Sample.docx"); (2)
}
1 | Получение элемента управления. |
2 | Отображение содержимого. |
Чтобы вывести содержимое файла карточки, достаточно совместить приведенный выше сценарий с механизмом выгрузки, к примеру, основного файла документа методом DownloadMainFile
сервиса IDocumentService
.
Необходимо учитывать, что в разметке карточек библиотеки Базовые объекты имеются элементы управления, недоступные для метода FindPropertyItem
. В качестве примера можно привести элемент управления, объединяющий область вложений и область предварительного просмотра, в карточке "Документ". Доступ к такому элементу управления не может быть получен стандартным способом, а в Конструкторе разметок данный элемент управления не имеет названия.
Для получения информации по элементам управления DevExpress, рекомендуем обращаться к соответствующим разделам на сайте производителя. |