Создание компонента TDataSource

Чтобы в главном окне программы сетка DBGrid1 могла отображать данные из НД tbNakls, ее нужно связать с НД с помощью специального компонента источник данных (ИД) - TDataSource. Для этого выделите компонент TDataSource на вкладке Data Access палитры компонентов и затем щелкните на компоненте tbNakls в окне дерева объектов. В результате будут сформированы поля DataSet и Name Инспектора объектов для этого компонента (рисунок 3.15).

Рисунок 3.15 – Окно инспектора объектов для компонента DataSource1

Теперь осталось связать компонент DBGrid1 с компонентом DataSource1. Но компонент DBGrid1 находится на форме fmNaklsU, а компонент DataSource1 находится в модуле данных dmNaklsU. Однако согласно идеологии Delphi модуль данных должен быть связан с модулем формы. Лишь после этого можно реально связывать компоненты из этих методов. Этот процесс описывается в подразделе 3.3.7 после того, как будет завершен процесс создания всех необходимых компонент модуля данных. Хотя можно поступить и иначе, сначала связать модуль данных с модулем формы, а затем уже формировать необходимые компоненты модуля данных.

Таким образом, пока завершен процесс подготовки пары компонент Table1 – DataSource1 и пока не установлена связь компонента TDataSource1 с сеткой DBGrid1, необходимых для обработки и отображения НД tbNakls.

Теперь необходимо создать вторую пару Table2 – DataSource2 и пока отложить связвание компонент DataSource2 с сеткой DBGrid2 для отображения данных из таблицы MOVEBOOK в сетке главного окна DBGrid2. Для этого "положите" на псевдоним ААА набор данных TTable, а на него – источник данных TDataSource. Затем свяжите НД с таблицей MOVEBOOK и дайте ему имя tbMove. После чего свяжите компонент TDataSource с сеткой DBGrid2.

Вид модуля данных к этому моменту показан на рисунке 3.16.

Рисунок 3.16 – Вид модуля даных

Примечание. В общем случае для одной таблицы DBGrid может быть создано несколько источников данных, например, DataSource1, DataSource2 и т.д. При отладке или в процессе работы програмы такую таблицу можно связывать с разными источниками данных.