Начинаем работать в Borland C++ Builder

           

Расположение компонентов на форме приложения 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 Заказы клиентов
Создадим обработчик события OnClick для кнопки Button1: void __fastcall TForm1::Button1Click(TObject *Sender)
{
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


Содержание раздела