Html5Builder Dbgrid Rating: 7,8/10 707 votes

Интернет учебник по языку программирования C++/C++ Builder для всех от начинающих до профессионалов.. Сетка DBGrid отображает все записи, имеющиеся в наборе данных, т.е. Числом строк в ней управлять нельзя. Основным свойством сетки DBGrid является свойство Columns типа TDBGridColumns, которое представляет собой массив (коллекцию) объектов Column типа TColumn, описывающих отдельные столбцы сетки.

Пример вывода таблицы базы данных в компоненте DBGrid Условие задачи Дана база данных ««, сформированная в системе Microsoft Access. База данных содержит три таблицы Student, Subject и Session. Структура таблиц следующая.

Таблица Student. Таблица Subject (Дисциплина). Таблица Session (Сессия). Таблицы связаны между собой по такой схеме (рис.

Схема связей между таблицами Создать приложение, в котором выводится содержимое таблиц в таком виде. Для вывода использовать компонент типа TDBGrid. Данные полей взять из таблиц как показано ниже. Выполнение 1.

Создать проект типа «VCL Form Application». Размещение компонент на форме Из палитры компонентов Tool Palette выносим на форму такие компоненты:. компонент типа TLabel для вывода информационного сообщения (рис. 2);. из вкладки « Data Access» компонент типа TDataSource (рис. 3);.

из вкладки « DBGo» компоненты типа TADOConnection (рис. 4);. из вкладки « DBGo» компонент типа TADOQuery (рис. 5);.

Html5Builder Dbgrid

из вкладки « Data Controls» компонент типа TDBGrid для визуализации таблицы (рис. Также, для вывода данных из базы данных, возможно использование компонент TADOTable из вкладыша DBGo.

В данном случае компонент типа TADOQuery используется вместо TADOTable, поскольку данные в DBGrid формируются из трех таблиц. Использование компонента TADOTable есть целесообразным в том случае, если нужно вывести только одну таблицу из базы данных.

В компоненте TADOQuery будет задан SQL-запрос, который сформирует одну таблицу из трех в соответствии с условием задачи. Размещение компонента типа TLabel на палитре инструментов Рис. Размещение компонента типа TDataSource на форме Рис. Компонент TADOConnection Рис. Компонент TADOQuery из вкладыша dbGo Рис. Компонент TDBGrid из вкладыша dbGo В результате вынесения вышеупомянутых компонент на форму, в C Builder будет сформированы объекты-переменные с такими именами: Label1, DataSource1, ADOQuery1, ADOConnection1, DBGrid1. Схема взаимодействия между компонентами В нашем случае, схема взаимодействия между компонентами имеет вид, как показан на рис.

Схема взаимодействия между компонентами и базой данных Первым этапом есть установление связи между приложением и базой данных. Этот процесс подробно описывается здесь. Процесс связывания приложения с базой данных происходит в по принципу мастера. В результате формируется свойство ConnectionString компонента ADOConnection1. Это свойство указывает на размещение файла базы данных ««.

После формирования свойства ConnectionString важно установить свойство LoginPrompt компонента ADOConnection1 в значение false. Это нужно для доступа к записям базы данных без ввода пароля. Чтобы связать другие компоненты между собою, выполняем такие действия:.

в компоненте ADOQuery1 свойство Connection = ADOConnection1;. в компоненте DataSource1 свойство DataSet = ADOQuery1;. в компоненте DBGrid1 свойство DataSource = DataSource1. Свойство SQL компонента ADOQuery1 Следующим шагом есть настройка свойства « SQL» компонента ADOQuery1. В этом свойстве нужно задать строку SQL-запроса, который будет формироваться для вывода данных из базы данных. В соответствии с условием задачи, может быть сформирована таблица, которая включает в себя поля из трех таблиц базы данных.

Сформируем SQL-запрос таким образом, чтобы выбирались все данные из всех таблиц. А потом в компоненте DBGrid1 оставим только нужные поля. Вызовем свойство « SQL» компонента ADOQuery1. Для этого делаем клик на кнопке « » (рис.

Свойство SQL компонента ADOQuery1 В результате открывается окно редактора, в котором нужно набрать текст SQL-запроса. Вводим такой текст: SELECT. FROM Session, Student, Subject Таким образом, отображаем все поля с трех таблиц. Редактор для создания SQL-запроса Нажимаем на кнопке « ОК«. Формирование полей в редакторе полей компонента ADOQuery1.

После нажатия на « OK» вызовем окно редактора полей компонента ADOQuery1. Делаем клик правой кнопкой мыши на ADOQuery1 и в контекстном меню вызовем команду « Fields Editor«. Вызов редактора полей « Fields Editor» компонента ADOQuery1 В результате откроется окно редактора полей Form1-ADOQuery1 (рис. Редактор полей компонента ADOQuery1 Делаем правый клик мышкой и в контекстном меню выбираем команду « Add All Fields» (рис. Это означает, что добавляем к обработке все поля, которые получаются в результате SQL-запроса.

Команда « Add All Fields« После выбора команды окно редактора полей примет вид как изображено на рисунке 13. Редактор полей с выбранными всеми полями трех таблиц Формируем окно редактора полей таким образом, чтобы оно имело вид как показано на рисунке 14. Чтобы удалить поле из списка, нужно из контекстного меню (правый клик мышкой) выбрать команду Delete. Поля, которые нужны в соответствии с условием задачи Каждому полю в редакторе полей системой создается соответствующий объект, который можно редактировать в Object Inspector. После этого можно закрыть редактор полей. Активация ADOQuery1 Устанавливаем свойство Active=true в компоненте ADOQuery1. После этого в компоненте DBGrid1 отобразятся все шесть полей с ADOQuery1 (рис.

Свойство Active компонента ADOQuery1 7. Формирование DBGrid1 В компоненте DBGrid1 отображаются поля из ADOQuery1. Теперь можно редактировать размеры формы и компонента DBGrid1. Чтобы лучшее отобразить компоненты в DBGrid1, вызовем редактор полей DBGrid1. Для этого сделаем правый клик мышкой на DBGrid1 и в контекстном меню (рис.

16) выбираем « Columns Editor«. Вызов редактора « Columns Editor» компонента DBGrid1 В результате откроется окно « Editing DBGrid1 - Columns«. Работа с редактором « Columns Editor» похожа с работой в редакторе полей компонента ADOQuery1. Добавляем все поля с помощью команды « Add All Fields» (рис. Команда « Add All Fields« Окно редактора примет вид как показано на рисунке 18.

Поля, которые могут обрабатываться в DBGrid1 Теперь есть возможность выделять соответствующее поле (например, Session.Year) и обрабатывать его внешний вид. Также с помощью мышки можно изменять порядок следования полей одного за одним.

Простым перетягиванием упорядочим поля так как показано на рисунке 19. Такой порядок следования полей отвечает порядку следования в таблице из условия задачи. Приведение в порядок полей в соответствии с условием задачи Если выделить поле Session.Year, то в Object Inspector можно увидеть, что ему отвечает объект-переменная с именем DBGrid1.Columns0. Аналогично полю Semester отвечает объект-переменная с именем DBGrid1.Columns1.

Так же со смещением номеров колонок создаются объекты для других полей. Используя эти объекты-переменные можно редактировать внешний вид колонок (полей), которые отображаются в DBGrid1. Так, например, можно установить центрирование заголовков полей, текст заголовков полей, выравнивание основных данных в полях и прочее. 20 видно как изменяется центрирование заголовка компонента DBGrid1. Центрирование заголовка После корректировки формы и всех полей DBGrid1, форма приложения будет иметь приблизительно такой вид (рис. Форма приложения после редактирования DBGrid1 и корректировки формы Теперь можно запустить приложение на выполнение.