procedure TForm.FilterRecord(DataSet: TDataSet; var Accept: Boolean);
begin
if DataSet.Active then
Accept := Filter.FilterFormulaIsTrue;
end;
procedure TForm.StdFilter;
var
Res: TModalResult;
begin
if(DS.State in [dsInsert,dsEdit]) then exit;
Res:= FilterDataSet(Filter);
if Res = mrOk then
begin
DS.OnFilterRecord:= FilterRecord;
DS.Filtered:= False;
DS.Filtered:= True;
end;
if DS.Filtered then NCancelFilter.Enabled:= True;
end;
procedure TForm.CancelFilter;
begin
if (DS.State in [dsInsert,dsEdit]) then exit;
DS.Filtered := False;
if Filter <> nil then Filter.Filter.Clear;
NCancelFilter.Enabled := False;
end;