Расположение компонентов на форме приложения CUST
11. Расположение компонентов на форме приложения CUST

Установим следующие свойства для этих компонентов:
Имя компонента | Свойство | Значение |
Table1 | DatabaseName | BCDEMOS |
TableName | CUSTOMER.DB | |
Active | false | |
DataSource1 | DataSet | Table1 |
DBGrid1 | DataSource | DataSource1 |
Query1 | Database Name | BCDEMOS |
SQL | select * from orders | |
Active | false | |
DataSource2 | DataSet | Query1 |
Query2 | DatabaseName | BCDEMOS |
DataSource3 | DataSet | Query2 |
Button1 | Caption | Открыть список &клиентов |
Button2 | Caption | Открыть список &заказов |
RadioButton1 | Caption | Клиенты |
Checked | true | |
RadioButton2 | Caption | Заказы |
GroupBox1 | Caption | |
GroupBox2 | Caption | |
Button3 | Caption | Установить &диапазон |
Edit1 | Text | |
Edit2 | Text | |
Label1 | Caption | Начало: |
Label2 | Caption | Конец: |
RadioButton3 | Caption | Заказы клиентов |
{
if (Table1->Active)
{
Table1->Close();
Button1->Caption = "Ioe?uou nienie &eeeaioia";
}
else
{
Table1->Open();
Button1->Caption= "Cae?uou nienie &eeeaioia";
}
} Теперь при нажатии на эту кнопку таблица Customer будет то открываться, то закрываться, при этом будет изменяться и надпись на кнопке.
Создадим обработчик события OnClick для кнопки Button2: void __fastcall TForm1::Button2Click(TObject *Sender)
{
if (Query1->Active)
{
Query1->Active = false;
Button2->Caption = "Ioe?uou список &caeacia";
}
else
{
Query1->Active = true;
Button2->Caption = "Заe?uou список &caeacia";
}
}
При нажатии на кнопку Button2 будет то открываться, то закрываться запрос Query1, содержащий список заказов:
Создадим обработчики событий OnClick для радиокнопок RadioButton1 и RadioButton2: void __fastcall TForm1::RadioButton1Click(TObject *Sender)
{
DBGrid1->DataSource = DataSource1;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::RadioButton2Click(TObject *Sender)
{
DBGrid1->DataSource =DataSource2;
}
Теперь с помощью этих радиокнопок можно переключаться между списком клиентов и списком заказов.
Создадим обработчик события OnClick для кнопки Button3: void __fastcall TForm1::Button3Click(TObject *Sender)
{
if (Table1->Active)
{
Table1->SetRangeStart();
Table1->Fields[0]->AsString = Edit1->Text;
Table1->SetRangeEnd();
Table1->Fields[0]->AsString = Edit2->Text;
Table1->ApplyRange();
}
}
Теперь с помощью полей редактирования Edit1 и Edit2 и кнопки Button3 можно выбрать диапазон номеров клиентов для отображения сведений о них в DBGrid1.
Затем с помощью Visual Query Builder установим свойство SQL компонента Query2. Выберем в качестве имени базы данных BCDEMOS и внесем в запрос таблицы CUSTOMER и ORDERS. Затем установим связь между таблицами, проведя линию от поля CustNo в таблице CUSTOMER к полю CustNo в таблице ORDERS.
Внесем в запрос следующие поля:
- Customer.CustNo
- Customer.Company
- Orders.OrderNo
- Orders.AmountPaid