На этом шаге мы закончим разработку приложения.
Наша программа, созданная на предыдущем шаге, имеет ряд недостатков. Во-первых, в ней показано автоинкрементное поле N, которое необходимо для обеспечения уникальности записей в таблице Nalich. Оно не несет никакой смысловой нагрузки, поэтому его лучше не показывать. Во-вторых, название колонок в сетках DBGrid соответствуют названиям полей таблицы и представлены латинскими буквами - эти названия желательно заменить на русские.
В предыдущем примере мы устраняли эти недостатки с помощью свойства Columns компонента TDBGrid. Изменим названия колонок в DBGrid1 на русские аналогично, как мы это делали в предыдущем примере.
0-Naim | |
Caption | Наименование |
1-NSklad | |
Caption | Номер склада |
Мы могли бы так же поступить и с DBGrid2, но пойдем немного другим путем.
Дважды щелкните по компоненту Table2 в окне формы или щелкните по нему правой кнопкой мыши и в контекстно-зависимом меню выберите элемент Fields Editor. На экране появится пустое окно редактора полей. Щелкните по нему правой кнопкой мыши и выберите элемент меню Add Fields. Будет показан список всех полей таблицы Nalich.db. Выделите все поля, кроме N (рисунок 1) и нажмите ОК. Теперь список редактора полей будет включать все отмеченные поля.
Рис.1. Работа с редактором полей
Для каждого добавленного поля Delphi автоматически создает объект класса TField (поле набора данных) и назначает ему уникальное имя, получающееся сцеплением имени набора данных (Table2) и имени поля. Так компонент TField, соответствующий полю Naim, получит имя Table2Naim. Имена автоматически созданных объектов-полей вы найдете в объявлении класса TForm1 в окне кода. Если какое то поле (в нашем случае N) не включено в список полей, оно становится невидимым для программы, и не появляется в соответствующем НД.
Для каждого вновь созданного объекта-поля изменим название соответствующей колонки. Для этого поочередно щелкните мышью в списке редактора по каждому полю и в окне Инспектора объектов в свойство DisplayLabel введите его русское название: Наименование, Модель, Количество, Цена. Так мы исправили указанный недостаток (рисунок 2).
Рис.2. Окончательный вид формы
Поле N не включено в список полей, оно невидимо для программы, и это может повлечь за собой некоторое неудобство при дальнейшем написании кода программы. Если нам необходимо создать компонент TField, но не отображать его в визуальных компонентах, то можно установить свойство Visible этого компонента в False.
Редактировать визуализацию полей можно с помощью как объектов класса TColumn так и объектов класса TField, выбор остается за разработчиком.
Созданное приложение можно взять здесь.
На следующем шаге мы рассмотрим режимы наборов данных.