Кроме своего основного назначения, таблица может выполнять функции компонента, используемого как альтернатива для выпадающего списка: на форме редактирования или как элемент фильтра.

Таблица в качестве справочного поля

В качестве источника данных для справочных полей можно использовать табличный компонент TdbTableGridEx. Этот способ может быть полезным в некоторых случаях: 

  • если справочных значений немного и желательно сразу видеть список возможных вариантов;
  • если необходимо отобразить несколько полей с данными, в том числе – из связанных таблиц.

Хотя в списке свойств у таблицы нет свойства ForeingKey, его значение задается через выпадающий список “1. Выберите таблицу базы данных для запроса” (2) на форме настройки таблицы, которая открывается через кнопку свойства Settings [Настройка] (1).

Далее производится настройка отображаемых полей, которые выбираются из списка полей таблиц (3). Кроме настройки надписей заголовка таблицы (4) можно настроить фильтр (5) и сортировку отображаемых данных (6). Опция отображения нужно установить в положение “Показать все записи из таблицы” (7).

📝 Подробней об этих настройках можно прочитать в разделе “Отображение табличных данных“.

По своей функциональности данное решение аналогично выбору из выпадающего списка, который постоянно развёрнут.

Таблица в качестве фильтра

Таблицу можно использовать в качестве источника данных для фильтра. Это может потребоваться для отображения на одном экране информации о главной и подчиненной таблице, например документ и его детализация.

Разместите на форме необходимые элементы (1): главную таблицу (tgrMaster), подчиненную таблицу (tgrDetail) и кнопку для фильтрации данных в подчиненной таблице (btnFilter).

Настройте свойство Action (2) у кнопки btnFilter: в качестве компонента – источника данных для фильтра укажите таблицу tgrMaster (3). Результат должен отобразиться в таблице tgrDetail (4). В качестве таблицы базы данных для поиска укажите таблицу detail (5), настройте отображаемые поля (6) и сохраните настройки (7).

В свойстве Increm.Search у таблицы tgrMaster укажите кнопку btnFilter (1).

Кнопку btnFilter сделайте невидимой, установив её свойство Visible = False.

Теперь при выборе записи в таблице tgrMaster данные в таблице tgrDetail будут автоматически фильтроваться по документу.

При отображении формы нижняя таблица будет пустой без заголовка таблицы, так как данные в ней обновятся только после выбора записи в верхней таблице.

📝 Подробней о работе фильтров можно прочитать в разделе “Поиск и фильтрация

Нам осталось рассмотреть ещё один визуальный компонент, который служит для отображения древовидной информации.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *