Фильтрация записей. Событие OnFilterRecord

   
На этом шаге мы рассмотрим использование события OnFilterRecord.

   
Событие OnFilterRecord возникает при установке в свойстве Filtered значения True. Обработчик
события имеет два параметра: имя фильтруемого набора данных и переменную Acept, в которую программа
должна поместить True, если текущая запись удовлетворяет критерию фильтрации.

   
В отличие от критерия фильтрации, помещаемого в строку Filter и ограниченного рамками синтаксиса
условного выражения, критерий, реализуемый в обработчике события OnFilterRecord, определяется
синтаксисом Object Pascal и может реализовывать сложные алгоритмы фильтрации. Например, следующий обработчик:

procedure TDataModule1.TablePupilsFilterRecord 
           (DataSet: TDataSet;var Accept: Boolean);
begin
    Accept:=(Pos('П',DataSet['FIO'])=1);
end;

отфильтрует TablePupils по условию: "отобрать всех учеников, чья фамилия начинается на букву "П".

   
Если в строке Filter и в обработчике события OnFilterRecord заданы разные критерии фильтрации, то
выполняются оба.

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



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий