Для отображения на форме списка объектов существует специализированный элемент управления, ObjectListView
.
Список объектов может быть сгенерирован на основе модели Flexberry Desinger или создан вручную.
Для отображения списока объектов без генерации необходимо:
- Поместить
ObjectListView
на форму. - Присоединить к
ObjectListView
сервис данных. Для этого проинициализировать уObjectListView
свойствоDataService
. Если на форме уже реализованы сервисы данных, то указать можно в окне редактирования свойств, где есть для этого выпадающий список. - Настроить отладочный пакет (если есть необходимость).
- Выбрать один или несколько классов для отображения. Для этого проинициализировать у
ObjectListView
свойствоDataObjectTypes
. Это можно также сделать при помощи специального дизайнера, доступного из окна редактирования свойств. - Выбрать совместимое со всеми классами представление. Для этого необходимо проинициализировать у
ObjectListView
свойствоViewName
. Это также можно сделать из окна редактирования свойств. Внимание! В выпадающий список попадают только совместимые со всеми типами, перечисленными вDataObjectTypes
, представления. - Установить, при необходимости, ограничение. Для этого проинициализировать свойство
LimitFunction
. Если делать в среде VS из окна редактирования свойств, то через свойствоLimit
. - Настроить при необходимости видимость и ширину колонок. Для этого настроить у
ObjectListView
свойствоColumns
через окно редактирования свойств.
Основная функциональность ObjectListView для пользователя
ObjectListView
отображает разнотипные объекты в одном списке в соответствии с совместимым представлением. Кроме атрибутивного состава, согласно представлению, ObjectListView
может отображать картинки (Image
), приписанные классам данных.
Основная функциональность ObjectListView
для пользователя:
Пользователь может:
- Просматривать список объектов (в т.ч. и разнотипных)
-
Обновить список объектов
-
Вернуть выбранные объекты (LookUp)
- Выполнять сортировку объектов, для чего необходимо ткнуть мышью в заголовок колонки
-
Создать объект (если DataObjectTypes содержит несколько типов, то пользователь может из выпадающего списка выбрать, какого типа необходимо создать объект)
- Создать объект на основе выделенного
- Отредактировать один или несколько выделенных объектов
- Удалить один или несколько выделенных объектов
- Настроить видимость колонок (пользователь может скрыть часть колонок для удобства)
- Наложить ограничение на список отображаемых объектов
- Выполнить поиск по списку
Также пользователю доступны:
- Предварительный просмотр печати списка
- Печать списка
- Настройки печати
- Копирование выделенного в буфер обмена
- Операции с пометками и выделением
Обновление рабочего стола
Для принудительного обновления дерева папок и списка рабочего стола необходимо вызвать метод DesktopCtrl.ReloadDesktopcustomizer()
.
Сообщение о продолжении загрузки при нехватке ресурсов
Сообщение с вопросом о продолжении загрузки возникает при исчерпании физической памяти, выделенной приложению, т.к. выделение памяти в файле подкачки требует значительных временных затрат.
Для включения данной функции необходимо присвоить свойству ‘‘MemoryTimeLoadLimit’’ любое положительное значение.
Оптимизация чтения данных
В обычном режиме ObjectListView
зачитывает все поля, находящиеся в представлении, даже если некоторые колонки скрыты. SQL Server при выполнении запроса руководствуется полями входящими в самый верхний запрос (при их вложении) и ограничением. Если поле мастера не используется ни в списке выводимых, ни в ограничении, то SQL Server не выполняет join, тем самым ускоряя ограничение запроса.
Установка свойства ObjectListView.UseColumnOptimization=true
позволяет не включать в запрос скрытые поля.
Установить режим оптимизации для всех списков приложения позволяет метод Tuner.Customize
, в котором следует установить свойство UseColumnOptimization
для ObjectListView
, переданного в качестве параметра.
Отключение хоткей F2 для редактирования объектов
Нужно в ObjectListView
указать UseHotkeyForEdit = false;
. Это повлияет и на тултип, который появляется над кнопкой редактирования.
Полезные ссылки
- Объекты в ObjectListView
- Дизайн и функциональность
- Разное