.....TVLTableView - визуальный компонент библиотеки Visual Loodsman For Delphi, представляющий собой таблицу объектов базы данных, подчиненных по указанной связи головному объекту компонента. Целочисленный идентификатор головного объекта, также как и указатель на DCOM-соединение с базой данных, заполняются пользователем в свойствах компонента в инспекторе свойств. Заполнение указанных свойств может также производится программным путем. Инициализация компонента производится программным путем либо с помощью компонента TVLOwnerManager (метод ReadBDAttributes), либо с помощью собственного метода RefreshControl. При использовании TVLOwnerManager, если идентификатор объекта и указатель на DCOM-соединение не заполнены, используется по умолчанию свойства компонента TVLOwnerManager.
В общем виде инициализированный компонент выглядит следующим образом:
.....В первоначальном виде в таблице выводится список системных колонок. Если дважды щелкнуть левой кнопкой мыши на компоненте в среде Delphi, будет загружен системный редактор колонок, как показано на рисунке ниже.
.....Этот список представлет собой список обязательных системных колонок. Указанные колонки отображают следующую информацию:
-
-
-
-
3 - _ID_VERSION - integer - целочисленный идентификатор объекта базы данных;
-
4 - _ID_LINK - integer - целочисленный идентификатор экземпляра связи;
-
5 - _TYPE - string - тип объекта;
-
6 - _PRODUCT - string - ключевой атрибут объекта;
-
7 - _VERSION - string - номер версии объекта;
-
8 - _STATE - string - состояние объекта;
-
9 - _MIN_QUANTITY - double - минимальное количество;
-
10 - _MAX_QUANTITY - double - максимальное количество;
-
11 - _DOCUMENT - byte - признак документа (1 - объект является документом, 0 - объект не является документом);
-
12 - _ACCESSLEVEL - byte - уровень доступа к объектам типа (1 - чтение, 2 - чтение/запись, 3 - администрирование);
-
13 - _LOCKED - byte - уровень блокировки объекта (0 - не блокирован, 1 - блокирован текущим пользователем, 2 - блокирован "другим" пользователем);
-
14 - _ID_UNIT - string - идентификатор единицы измерения, в которой отображается значение количества.
.....ВНИМАНИЕ!!! Удалять указанные выше колонки и изменять свойство FieldName в инспекторе свойств для указанных колонок недопустимо!!! Допустимо только изменять свойства Title.Caption (Заголовок колонки), Visible (Параметр отображения колонки), Width (Ширина колонки). Кроме этого можно добавлять любое количество колонок, в которых будут отображаться атрибуты объектов и экземпляров связей, при этом имя атрибута необходимо поместить в свойство FieldName каждой колонки. Список атрибутов, которые будут отображаться в таблице, и порядок сортировки таблицы по умолчанию настраиваются в приложении ЛОЦМАН-Конфигуратор в ветке Параметры отображения -> Атрибуты в составе для используемой базы данных.
Свойства TVLTableView, опубликованные в инспекторе объектов.
Свойство |
Тип |
Комментарий |
BDDCOM |
TVLDCOMConnection |
Указатель на DCOM соединение с базой данных системы ЛОЦМАН:PLM. |
Filter |
string |
Строка-фильтр просмотра подчиненных объектов дерева. Например: "_TYPE="Подразделение". |
InBDID |
integer |
Целочисленный идентификатор объекта базы данных, который является головным для данного компонента. От данного объекта по указанной связи будет строится дерево объектов компонента при его инициализации. |
IndexFieldNames |
string |
Список атрибутов объектов, по которым будут сортироваться подчиненные объекты при просмотре таблицы. Например: "Обозначение;Наименование". |
LinkName |
string |
Наименование связи, по которой будут отображаться объекты дерева. Например: "Состоит из ...". |
UnVisibleFieldsName |
string |
Список полей-колонок через ";", в которых будет проводится контроль отображения атрибутов в зависимости от уровня доступа к объекту базы данных строки таблицы. Например: "Оклад;Год рождения". |
UnVisibleLevel |
TVLUnVisibleLevel |
Уровень видимости значения атрибута, в зависимости от уровня доступа к объекту. Может занимать следующие значения:
- uvlAdmin - значение атрибута отображается, если уровень доступа к объекту Администрирование;
- uvlNone - значение атрибута отображается всегда (по умолчанию);
- uvlReadWrite - значение атрибута отображается, если уровень доступа к объекту Чтение-Запись (или выше).
|
VLAutoLoad |
boolean |
Параметр автозагрузки (автоинициализации) компонента. По умолчанию параметр включен. Используется при выполнении метода TVLOwnerManager.ReadBDAttributes. |
Public методы компонента TVLTableView.
Наименование |
Комментарий |
AdminObj |
Установка уровней доступа (администрирование) для выделенного объекта. |
AuthorObj |
Просмотр информации об авторе-создателе выделенного в таблице объекта. |
ChangeState |
Изменить состояние выделенного в таблице объекта базы данных. |
CopyIdToClipBrd |
Копировать целочисленный идентификатор выделенного в таблице объекта базы данных в буфер обмена Windows. |
DeleteBDObject |
Удалить выделенный в таблице объект. |
GetBDId |
Вернуть целочисленный идентификатор выделенного в таблице объекта базы данных. |
GetGlobalId |
Передать в глобальные переменные информацию о выделенном в таблице объекте базы данных. |
GetLinkBDId |
Вернуть целочисленный идентификатор выделенного экземпляра связи. |
GetParentBDId |
Вернуть целочисленный идентификатор собственного объекта компонента. |
IsEmpty |
Проверка: пустая ли таблица. |
InsertBDObject |
Создать новый объект базы данных и связать его указанной связью с собственным объектом компонента. |
PasteObjFromClipBoard |
Установить объект базы данных, идентификатор которого находится в буфере обмена Windows, в состав таблицы. |
RefreshControl |
Инициализировать (регенерировать) компонент. |
RefreshLink |
Обновить строку таблицы с указанным идентификатором экземпляром связи. |
RefreshVersion |
Обновить строку таблицы с указанным идентификатором объекта базы данных. |