Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab3.doc
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
930.82 Кб
Скачать

Часть 4 – Организация поиска, упорядочивание данных в таблицах

  1. Расположить в нижней части на вкладках формы компоненты для сортировки: выбор имени поля в наборе данных, направление сортировки, кнопку запуска (рис. 17).

Рис. 17. Пример области сортировки для таблицы Dogovors

ЗАМЕЧАНИЕ: выполнить следующие действия:

  1. Расположить на нужной вкладке два компонента RadioGroup с вкладки Standart. Выбрать вкладку, связанную с нужным набором данных, например,– с таблицей Dogovors и настроить компонент на заданный набор;

  2. Задать компонентам соответствующее свойство Caption (рис. 17);

  3. Для каждого компонента в свойстве Items заполнить соответственно имена полей для сортировки и направление сортировки (рис. 17);

  4. Установить первый элемент переключателя активным, установив для свойства ItemIndex значение 0;

  5. Добавить на вкладку управляющую кнопку: компонент Button с вкладки Standart, изменить свойство Caption;

  6. Прописать соответствующий обработчик события OnClick для кнопки.

Пример для таблицы Dogovors:

//----------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)

{

AnsiString d;

switch (RadioGroup2->ItemIndex) { //выбор направления сортировки

case 0: d=""; break; // по возрастанию

case 1: d="DESC"; // по убыванию

}

switch (RadioGroup1->ItemIndex) { //выбор поля для сортировки

case 0: d=" order by dnomerdogov " + d; break;

case 1: d=" order by ddata " + d; break;

case 2: d=" order by DStrahSymma " + d; break;

case 3: d=" order by DTarifStavka " + d; break;

}

DM->SimpleDogovors->DataSet->CommandText="select * from dogovors "+d;

DM->SimpleDogovors->Refresh(); //обновление набора данных

}

  1. Аналогичным образом создать область сортировки на остальных вкладках.

  1. Расположить в нижней части на вкладках формы компоненты для поиска по определенным полям: выбор имени поля в наборе данных, ввод текста для поиска, кнопку запуска, кнопку сброса (рис. 18).

Рис. 18. Пример области поиска для таблицы Filials

ЗАМЕЧАНИЕ: выполнить следующие действия:

  1. Расположить на нужной вкладке компонент ComboBox с вкладки Standart. Выбрать вкладку, связанную с нужным набором данных, например – с таблицей Filials и настроить компонент на заданный набор;

  2. Для компонента в свойстве Items заполнить соответственно имена полей для поиска в данном наборе данных;

  3. Установить первый элемент выпадающего списка активным, задав для свойства ItemIndex значение 0 (или оставить начальное значение списка пустым, очистив свойство Text (рис. 18);

  4. Добавить на вкладку управляющие кнопки: компоненты Button с вкладки Standart, изменить свойство Caption (рис. 18);

  5. Добавить на вкладку компонент Edit с вкладки Standart, очистить свойство Text;

  6. Добавить на вкладку 2 компонента Lable с вкладки Standart, изменить свойство Caption (рис. 18);

  7. Прописать соответствующий обработчик события OnClick для кнопки Поиск, учитывая, что текстом поиска может служить фрагмент (буква) значения поля.

Пример для таблицы Filials:

//----------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)

{

AnsiString d1,s;

switch (ComboBox1->ItemIndex) { //выбор имени поля в списке

case 0: d1="FNameFiliala"; break;

case 1: d1="FAdres"; break;

case 2: d1="FTelefon"; break;

}

s=Edit1->Text; //присвоение переменной значения из поля Edit1

DM->SimpleFilials->DataSet->CommandText="select * from filials where "+d1+" like '%"+s+"%'";

DM->SimpleFilials->Refresh();

}

  1. Прописать соответствующий обработчик события OnClick для кнопки Сброс.

Пример для таблицы Filials:

//----------------------------------------------------------------------

void __fastcall TForm1::Button3Click(TObject *Sender)

{

DM->SimpleFilials->DataSet->CommandText="select * from filials order by FKodFiliala"; //сортировка набора данных по ключевому полю

DM->SimpleFilials->Refresh(); //обновление набора данных

Edit1->Text=""; //очистка поля поиска

}

  1. Аналогичным образом создать область поиска на остальных вкладках.

  1. Запустить приложение на выполнение, проверить работу областей поиска и сортировки на вкладках.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]