Базы данных: Методические указания к выполнению практикума по одноименной дисциплине, страница 14

Изменим параметры компонента DBGrid1 так, чтобы названия его столбцов содержали русские наименования. Для этого щелкнем правой кнопкой мыши на компоненте DBGrid1, и во всплывающем меню выберем элемент Columns Editor. На экране появится окно столбцов компонента. Для того, чтобы изменить характеристики столбцов, нужно перейти от неявно определяемых столбцов к явно определяемым. Для этого следует щелкнуть по кнопке “Add All Fields”, в результате чего будут добавлены столбцы, каждый из которых соответствует полю, определенному в редакторе полей компонента Table1. Чтобы изменить заголовок каждого столбца, следует выбрать при помощи мыши имя столбца в редакторе столбцов, и в инспекторе объектов раскрыть список свойства Title. В элементе Caption этого списка содержится заголовок столбца. После изменения соответствующим образом всех заголовков можно выйти из редактора столбцов.

Для изменения порядка сортировки записей в таблице установим свойство IndexFieldNames в значение Fio, предварительно определив вторичный индекс по этому полю. В редакторе колонок столбец с фамилией и инициалами студента можно переместить на первое место с использованием редактора колонок DBGrid.

Определение визуальных компонентов для работы с полями записи набора данных.

Часто удобней вынести на форму все поля текущей записи в целях ее редактирования. В этом случае к полям записи можно обращаться не только к сетке компонента DBGrid1, но также из отдельных визуальных компонентов, позволяющих осуществлять доступ к отдельным полям записи набора данных.

Для демонстрации этой возможности используем дополнительную таблицу Group, содержащую два поля:

–  Код группы (CodGr) – автоинкриментное поле;

–  Наименование группы (NameGr) – строка до восьми символов.

Добавим в форму три компонента DBEdit и компонент DBLookupComboBox со страницы Data Controls соответственно для полей Fio, Zb, Adr и поля с наименованием группы.

Снабдим эти поля метками, отражающими смысловое назначение полей. Для этих компонентов установим свойство DataSource в значение DataSource1, а значения DataField соответственно в Fio, Zb, Adr. Последний введенный компонент будем использовать для отображения наименования студенческой группы.

С этой целью рассмотрим теперь общие правила использования компонента DBLookupComboBox. Пусть существует два набора:

–  T1, где используется поле Р11 с кодом объекта Х;

–  Т2, где наряду с кодом Р21 объекта Х содержится его наименование Р22.

Для отображения в компоненте DBLookupComboBox наименования P22 для кода P11 из текущей записи набора Т1 необходимо задать следующие значения для свойств этого компонента:

–  DataSourse указывает на компонент TDataSource, связанный с набором данных T1;

–  ListSource указывает на компонент TDataSource, связанный с набором данных T2;

–  DataField – устанавливает поле Р11, в котором содержится код Р11;

–  KeyField – устанавливает поле связи в наборе Т2 для поля Р11;

–  ListField – устанавливает значение поля, значения которого будут показываться в списке выбора. Если это свойство не установлено то в качестве его значения будет использоваться значение свойство KeyField.

С учетом этого разместим на форме компоненты Ttable2 и TdataSource2 и свяжем их между собой и с таблицей Group.

После этого для компонента DBLookupComboBox1 зададим следующие значения свойств:

–  DataSourse –DataSource1,

–  ListSource – DataSource2,

–  DataField – Num;

–  KeyField – CodGr;

–  ListField – NameGr.

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

Использование кнопок для работы с записями таблицы.

Удалим с формы компонент TDBNavigator и добавим вместо него пять кнопок с заголовками «Добавить», «Изменить», «Удалить», «Запомнить», «Отменить» и, соответственно, с именами InsBtn, EdBtn, DelBtn, PostBtn, CanBtn.