Показать сообщение отдельно
  #2  
Старый 22.05.2009, 23:51
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,106
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Ну так и делай. Только там не на DBGrid, а на самом источнике данных делается.

Код:
procedure TForm1.ADOQuery1FilterRecord(DataSet: TDataSet;
  var Accept: Boolean);
begin
  If FMyFiltered
    Then
      Accept := (DataSet.FieldByName('Date1').AsDateTime > DateTimePicker1.Date) And
                (DataSet.FieldByName('Date1').AsDateTime < DateTimePicker2.Date)
    Else Accept := True;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  FMyFiltered := True;
end;

ЗЫ. Предпочитаю пользоваться этим событием - больше возможностей.
Ответить с цитированием