Глава 12. РАЗРАБОТКА ОКОННОГО ИНТЕРФЕЙСА
Компонент запроса справочника TRefQuery
Свойства Published |
|
ClassTableName |
Имя таблицы класса |
DetailFieldName |
Если справочник подчинен другому справочнику – имя поля, по
которому производится подчинение (фильтрация по ключевому значению) |
DisableChildClass |
Не отображать объекты классов-потомков |
DisableEmptyValue |
Не отображать пустой элемент |
EnablePost |
Сохранять результаты редактирования |
MasterFieldName |
Имя поля в старшем справочнике при подчинении одного справочника другому
(обычно поле первичного ключа). Должно быть MASTER_
VALUE, если вместо старшего справочника используется явное значение из
поля MasterValue |
MasterValue |
Явное значение ключа для подчинения справочника, если не указан
старший справочник в свойстве DataSource |
MaxDisplayWidth |
Максимальная ширина поля при отображении (в символах) |
NamesType |
Способ отображения:
ATTRIBUTES – поля справочника
SHORT
_NAME –краткие наименования объектов
Возможны и другие
значения, если в конфигурации имеются дополнительные типы наименований объектов
. |
ShowLookupNames |
Показывать все поля справочника Действует, если свойство NamesType не
равно ATTRIBUTES |
Transaction |
Транзакция |
Свойства Public |
тип |
readonly |
|
Class_Id |
integer |
|
ID класса |
Class_Name |
string |
readonly |
Имя таблицы класса |
FilterExpression |
string |
|
Выражение для фильтра, добавляемое в WHERE |
ID_Field |
TField |
readonly |
Компонент поля ID |
Object_Id |
integer |
|
ID объекта при SelectOneObject = True |
RootTableName |
string |
readonly |
Имя таблицы корневого класса |
SelectOneObject |
boolean |
|
Запрашивать только один объект |
Методы |
|
procedure SetOrderByAlias(const alias_name: string;
desc: boolean); |
Упорядочивание по псевдониму поля |
procedure BuildSQL |
Создает тексты внутренних SQL-запросов |
В большинстве случаев вместо компонентов TRefQuery лучше использовать обычные компоненты
SQL-запросов TIBDataSet. Компонент TRefQuery предназначен в основном
для тех ситуаций, если требуется быстро реализовать отображение какого
-то справочника в сетке или же если необходимо организовать
создание или редактирование элементов справочников. Если свойство EnablePost =
False, то справочные элементы «редактируются», но эти
изменения не запоминаются. Если свойство EnablePost = True,
то изменения запоминаются, причем без возможности «отката транзакции
», так как сама посылка данных на сервер осуществляется этим
компонентом в отдельной, недоступной транзакции.
Пример использования компонентов справочников в режиме дизайна показан на рисунке
.
Здесь справочник GOODS подчинен справочнику GOODS_MARK по полю
GOODS_MARK.
|