End else
{---------------отмена фильтрации---------------}
Tablel.CancelRange;
end;
В отфильтрованном НД показываются только те записи, индексное поле текущего индекса у которых (в нашем случае поле GrNum) имеет значение, лежащее в заданном диапазоне. В данном случае диапазон определяется переменной GrNumTmp. Поэтому для GrNumTmp = 3 будут показаны записи, принадлежащие к одной группе 3 (рис. 7.18):
Рис. 7.18. Набор данных, отфильтрованный по группе 3.
Если бы мы захотели, чтобы в НД фильтровались записи из нескольких групп, то нам следовало бы добавить в форму второй компонент Edit2, в котором вводился бы номер конечной группы, в то время как в Edit1 вводился бы номер начальной группы:
procedure TForml.CheckBoxIClick(Sender: TObject);
Var
GrNumTrnpl,GrNumTmp2: Integer;
Begin
if CheckBoxl.Checkedthen
Begin
GrNumTmp1 := StrToInt(Edit1.Text);
GrNumTmp2 := StrToInt(Edit2.Text) ;
{-----------фильтрация записей----------}
with Tableldo
Begin
CancelRange;
SetRange ([GrNumTmp1], [GrNumTmp2]) ;
end; {with}