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.Checked then

Begin

GrNumTmp1:= StrToInt(Edit1.Text);

GrNumTmp2:= StrToInt(Edit2.Text);

{-----------фильтрация записей----------}

with Tablel do

Begin

CancelRange;

SetRange ([GrNumTmp1], [GrNumTmp2]);

end; {with}


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: