Использование Delphi для создания приложений баз данных. Устюгова В.Н. - 33 стр.

UptoLike

Составители: 

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