Глава 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.
|