.....TVLFindTableView - визуальный компонент библиотеки VisualLoodsmanForDelphi, представляющий собой таблицу, предназначенную для организации сквозного поиска в базе данных объектов различного типа по различным условиям. Указатель на DCOM-соединение с базой данных, заполняется пользователем в свойствах компонента в инспекторе свойств или программным путем. Также в свойствах компонента заполняются различные условия поиска объектов. Запуск процедуры поиска осуществляется методом RefreshControl. При этом случае в таблице выводится список объектов базы данных удовлетворяющий условиям поиска.
В общем виде инициализированный компонент выглядит следующим образом:
.....В первоначальном виде в таблице выводится список системных колонок. Если дважды щелкнуть левой кнопкой мыши на компоненте в среде Delphi, будет загружен системный редактор колонок, как показано на рисунке ниже.
.....Этот список представлет собой список обязательных системных колонок. Указанные колонки отображают следующую информацию:
-
-
-
-
3 - _ID_VERSION - integer - целочисленный идентификатор объекта базы данных;
-
4 - _TYPE - string - тип объекта;
-
5 - _PRODUCT - string - ключевой атрибут объекта;
-
6 - _VERSION - string - номер версии объекта;
-
7 - _STATE - string - состояние объекта;
-
8 - _DOCUMENT - byte - признак документа (1 - объект является документом, 0 - объект не является документом);
-
9 - _ACCESSLEVEL - byte - уровень доступа к объектам типа (1 - чтение, 2 - чтение/запись, 3 - администрирование);
-
13 - _LOCKED - byte - уровень блокировки объекта (0 - не блокирован, 1 - блокирован текущим пользователем, 2 - блокирован "другим" пользователем);
.....ВНИМАНИЕ!!! Удалять указанные выше колонки и изменять свойство FieldName в инспекторе свойств для указанных колонок недопустимо!!! Допустимо только изменять свойства Title.Caption (Заголовок колонки), Visible (Параметр отображения колонки), Width (Ширина колонки). Кроме этого можно добавлять любое количество колонок, в которых будут отображаться собственные атрибуты объектов, при этом имя атрибута необходимо поместить в свойство FieldName каждой колонки. Необходимо отметить, что при этом выполнение процедуры поиска будет выполняться несколько медленнее, чем при поиске без дополнительных атрибутов.
Свойства TVLFindTableView, опубликованные в инспекторе объектов.
Свойство |
Тип |
Комментарий |
BDDCOM |
TVLDCOMConnection |
Указатель на DCOM соединение с базой данных системы ЛОЦМАН:PLM. |
stAttrCondition |
string |
Шаблон поиска по значениям атрибутов объекта. Шаблон выглядит так:<условие поиска1>;<условие поиска2>;<условие поиска3>, где: ";Э - разделитель, <условие поиска> = <название атрибута>:<условие для атрибута>, причем ":" - это разделитель, а <условие для атрибута> = E или !E или <SQL-выражение>, где:
- E - условие существования атрибута;
- !E - условие отсутствия атрибута;
- <SQL-выражение> - правильное SQL-условие, в котором вместо значения атрибута подставлено его название.
Например:
Выражение в процедуре Delphi: stAttrCondition:='Код ОКП:Код ОКП Like '+ QuotedStr('31 00%')
То же самое в инспекторе свойств: Код ОКП:Код ОКП Like '31 00%'
|
stProductName |
string |
Шаблон ключевого атрибута объекта (атрибут может указан не полностью), по которому будет произведен поиск в компоненте. |
stStateName |
string |
Список состояний объектов базы данных (через ";"), по которым будет произведен поиск в компоненте. |
stTypeName |
string |
Список типов объектов базы данных (через ";"), по которым будет произведен поиск в компоненте. |
VLAutoLoad |
boolean |
Параметр автозагрузки (автоинициализации) компонента. По умолчанию параметр включен. Используется при выполнении метода TVLOwnerManager.ReadBDAttributes. |
Public методы компонента TVLRegVarList.
Наименование |
Комментарий |
AdminObj |
Установка уровней доступа (администрирование) для выделенного объекта. |
AuthorObj |
Просмотр информации об авторе-создателе выделенного в таблице объекта. |
ChangeState |
Изменить состояние выделенного в таблице объекта базы данных. |
CopyIdToClipBrd |
Копировать целочисленный идентификатор выделенного в таблице объекта базы данных в буфер обмена Windows. |
DeleteBDObject |
Удалить выделенный в таблице объект из базы данных. |
GetBDId |
Вернуть целочисленный идентификатор выделенного в таблице объекта базы данных. |
GetGlobalId |
Передать в глобальные переменные информацию о выделенном в таблице объекте базы данных. |
IsEmpty |
Проверка: пустая ли таблица. |
RefreshControl |
Инициализировать (регенерировать) компонент. |
RefreshVersion |
Обновить строку таблицы с указанным идентификатором объекта базы данных. |