ВУЗ:
Составители:
Рубрика:
33
//отмена фильтрации
Table2.CancelRange;
end;
Методы SetRangeStart, SetRangeEnd, ApplyRange являются альтернативой методу
SetRange, который объединяет в себе функциональность трех указанных методов.
В частности, рассмотренная в предыдущем примере фильтрация по начальному и
конечному номеру группы может быть реализована следующим образом:
procedure TFormA.CheckBox2Click(Sender: TObject);
var
NumGrTmp1,NumGrTmp2: Integer;
begin
if CheckBox2.Checked then
begin
with Table2 do
begin
CancelRange;
SetRangeStart;
Table2.FieldByName('NumGr').Aslnteger:= NumGrTmp1;
SetRangeEnd;
Table2.FieldByName('NumGr').Aslnteger:= NumGrTmp2;
ApplyRange;
end; //with
end
else
Table2.CancelRange;
end;
Метод CancelRange служит для отмены предыдущих условий фильтрации. Если
предыдущую фильтрацию не отменить, возможно, следующие фильтрации принесут не
такой результат, которого вы ожидаете.
Изменим пример, представленный выше. Сначала удалим из него вызов метода
CancelRange. Пусть сначала набор данных сортируется по наименованию товара (поле
Tovar). Разместим в форме группу зависимых переключателей RadioGroup2, позволяющую
переключать текущие индексы компонента Table2:
procedure TFormA.RadioGroup2Click(Sender: TObject);
begin
with RadioGroup2 do
begin
case ItemIndex of
0: Table2.IndexFieldNames := 'Tovar'; // Текущий индекс - по полю 'Tovar'
// (наименование товара)
1: Table2.IndexFieldNames := 'NumGr'; // Текущий индекс - по полю 'NumGr'
// (номер группы товара)
end; //case
end; //with
end;
Когда пользователь хочет произвести фильтрацию по номеру группы, он нажимает
кнопку «Фильтровать» (Button2), для которой реализован следующий обработчик нажатия:
//отмена фильтрации Table2.CancelRange; end; Методы SetRangeStart, SetRangeEnd, ApplyRange являются альтернативой методу SetRange, который объединяет в себе функциональность трех указанных методов. В частности, рассмотренная в предыдущем примере фильтрация по начальному и конечному номеру группы может быть реализована следующим образом: procedure TFormA.CheckBox2Click(Sender: TObject); var NumGrTmp1,NumGrTmp2: Integer; begin if CheckBox2.Checked then begin with Table2 do begin CancelRange; SetRangeStart; Table2.FieldByName('NumGr').Aslnteger:= NumGrTmp1; SetRangeEnd; Table2.FieldByName('NumGr').Aslnteger:= NumGrTmp2; ApplyRange; end; //with end else Table2.CancelRange; end; Метод CancelRange служит для отмены предыдущих условий фильтрации. Если предыдущую фильтрацию не отменить, возможно, следующие фильтрации принесут не такой результат, которого вы ожидаете. Изменим пример, представленный выше. Сначала удалим из него вызов метода CancelRange. Пусть сначала набор данных сортируется по наименованию товара (поле Tovar). Разместим в форме группу зависимых переключателей RadioGroup2, позволяющую переключать текущие индексы компонента Table2: procedure TFormA.RadioGroup2Click(Sender: TObject); begin with RadioGroup2 do begin case ItemIndex of 0: Table2.IndexFieldNames := 'Tovar'; // Текущий индекс - по полю 'Tovar' // (наименование товара) 1: Table2.IndexFieldNames := 'NumGr'; // Текущий индекс - по полю 'NumGr' // (номер группы товара) end; //case end; //with end; Когда пользователь хочет произвести фильтрацию по номеру группы, он нажимает кнопку «Фильтровать» (Button2), для которой реализован следующий обработчик нажатия: 33
Страницы
- « первая
- ‹ предыдущая
- …
- 31
- 32
- 33
- 34
- 35
- …
- следующая ›
- последняя »