Пример. Фильтрация записей

   
На этом шаге мы рассмотрим пример приложения, иллюстрирующего фильтрацию записей.

   
Приложение имеет следующий вид (рисунок 1):


Рис. 1. Приложение в работе

   
Приложение содержит компонент RadioGroup1 с помощью которого можно выбрадь вид фильтрации (Нет, Команда,
Позиция, Номер, Все).
Данные для фильтрации берутся из двух компонентов типа TComboBox, содержащих соответственно
значение позиции игрока и значение названия команды игрока. Два компонента типа TSpinButton содержат
соответственно значение минимально и максимально возможного номера для игроков. Кнопка Обновить
позволяет обновить данные после изменения значений минимального и максимального номеров.

   
Фильтрация осуществляется с помощью свойств Filter и Filtered, компонента
ADOQuery1.

   
Обработчик события щелчка по компоненту RadioGroup1 имеет следующий вид:

   procedure TForm1.RadioGroup1Click(Sender: TObject);
   Begin
   case RadioGroup1.ItemIndex of
      0:   ADOQuery1.Filter:='';
      1:   ADOQuery1.Filter:='TeamName='''+Tim.Text+'''';
      2:   ADOQuery1.Filter:='Position='''+Poss.Text+'''';
      3:   ADOQuery1.Filter:='(Nomer>='+IntToStr(MinNom.Value)+') and (Nomer<='+
            IntToStr(MaxNom.Value)+')';
      4:   ADOQuery1.Filter:='(TeamName='''+Tim.Text+''') and (Position='''+
            Poss.Text+''') and (Nomer>='+
            IntToStr(MinNom.Value)+') and (Nomer<='+IntToStr(MaxNom.Value)+')';
   //В зависимости от типа выбранного фильтра компонента ComboBox1   
   //формируем значение свойства Filter компонента ADOQuery1 с 
   //помощью оператора case.
   End;
   ADOQuery1.Filtered:=True; //Включаем созданный фильтр.
   End;

   
Полный текст этого приложения можно взять здесь.
Файлы базы данных, используемой в приложении можно взять здесь.

   
На следующем шаге мы рассмотрим пример приложения, иллюстрирующего пакетную обработку данных.



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий