Шаг 15.
Технология ADO.
Пример. Фильтрация записей

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

    Приложение имеет следующий вид (рисунок 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;

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

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




Предыдущий шаг Содержание Следующий шаг