.....TVLTreeTableView - визуальный компонент библиотеки 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 - _ID_PARENT - integer - целочисленный идентификатор родительского объекта базы данных для текущего (_ID_VERSION);
- 8 - _LEVEL - integer - уровень вложенности в дереве (начиная с 0);
- 9 - _HASCHILD - integer - системная переменная, указывающая наличие списка дочерних объектов;
- 10 - _DRAWLEVELS - integer - системная переменная, определяющая отрисовку дерева объектов;
-
11 - _VERSION - string - номер версии объекта;
-
12 - _STATE - string - состояние объекта;
-
13 - _MIN_QUANTITY - double - минимальное количество;
-
14 - _MAX_QUANTITY - double - максимальное количество;
-
15 - _DOCUMENT - byte - признак документа (1 - объект является документом, 0 - объект не является документом);
-
16 - _ACCESSLEVEL - byte - уровень доступа к объектам типа (1 - чтение, 2 - чтение/запись, 3 - администрирование);
-
17 - _LOCKED - byte - уровень блокировки объекта (0 - не блокирован, 1 - блокирован текущим пользователем, 2 - блокирован "другим" пользователем);
-
18 - _ID_UNIT - string - идентификатор единицы измерения, в которой отображается значение количества.
.....ВНИМАНИЕ!!! Удалять указанные выше колонки и изменять свойство FieldName в инспекторе свойств для указанных колонок недопустимо!!! Допустимо только изменять свойства Title.Caption (Заголовок колонки), Visible (Параметр отображения колонки), Width (Ширина колонки). Кроме этого можно добавлять любое количество колонок, в которых будут отображаться атрибуты объектов и экземпляров связей, при этом имя атрибута необходимо поместить в свойство FieldName каждой колонки. Список атрибутов, которые будут отображаться в таблице, и порядок сортировки таблицы по умолчанию настраиваются в приложении ЛОЦМАН-Конфигуратор в ветке Параметры отображения -> Атрибуты в дереве для используемой базы данных.
Свойства TVLTreeTableView, опубликованные в инспекторе объектов.
Свойство |
Тип |
Комментарий |
BDDCOM |
TVLDCOMConnection |
Указатель на DCOM соединение с базой данных системы ЛОЦМАН:PLM. |
Filter |
string |
Строка-фильтр просмотра подчиненных объектов дерева. Например: "_TYPE="Подразделение". |
InBDID |
integer |
Целочисленный идентификатор объекта базы данных, который является головным для данного компонента. От данного объекта по указанной связи будет строится дерево объектов компонента при его инициализации. |
IndexColumn |
integer |
Номер колонки (поля), в которой берутся значения для сортировки списков подчиненных объектов дерева-таблицы. По умолчанию - 6, системная колонка для поля _PRODUCT, по умолчанию сортировка по ключевым атрибутам. |
IndexFieldsCount |
integer |
Максимальное количество уровней вложенности дерева (значение поля _LEVEL). По умолчанию - 16. |
LinkName |
string |
Список наименований связей через ";", по которой будут отображаться объекты дерева-таблицы. Например: "Делопроизводство;Состоит из ...". |
VLAutoLoad |
boolean |
Параметр автозагрузки (автоинициализации) компонента. По умолчанию параметр включен. Используется при выполнении метода TVLOwnerManager.ReadBDAttributes. |
Public методы компонента TVLTreeTableView.
Наименование |
Комментарий |
AdminObj |
Установка уровней доступа (администрирование) для выделенного объекта. |
AuthorObj |
Просмотр информации об авторе-создателе выделенного в таблице объекта. |
ChangeState |
Изменить состояние выделенного в таблице объекта базы данных. |
CloseSubList |
Закрыть список подчиненных объектов. |
CopyIdToClipBrd |
Копировать целочисленный идентификатор выделенного в таблице объекта базы данных в буфер обмена Windows. |
DeleteBDObject |
Удалить выделенный в таблице объект. |
GetBDId |
Вернуть целочисленный идентификатор выделенного в таблице объекта базы данных. |
GetGlobalId |
Передать в глобальные переменные информацию о выделенном в таблице объекте базы данных. |
GetLinkBDId |
Вернуть целочисленный идентификатор выделенного экземпляра связи. |
GetParentBDId |
Вернуть целочисленный идентификатор родительского объекта для выделенного объекта в таблице. |
IsEmpty |
Проверка: пустая ли таблица. |
OpenSubList |
Открыть список объектов, подчиненный выделенному объекту. |
PasteObjFromClipBoard |
Установить объект базы данных, идентификатор которого находится в буфере обмена Windows, в состав таблицы. |
RefreshControl |
Инициализировать (регенерировать) компонент. |
RefreshLink |
Обновить строку таблицы с указанным идентификатором экземпляром связи. |
ResetLevel |
Обновить список объектов текущего уровня |