Datasource Filter

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
mrtblt
Üye
Mesajlar: 222
Kayıt: 02 Tem 2007 04:13

Datasource Filter

Mesaj gönderen mrtblt » 25 Tem 2018 06:29

Merhaba Arkadaslar

DBgrid te arama yapmak icin asagidaki snippet i kullaniyorum.

Kod: Tümünü seç

procedure TDM.Search(ds: TADQuery; text: string; grd: TdbAdvGrid);
var
  i: integer;
  s: string;
begin

  ds.FilterOptions := [foCaseInsensitive];
  ds.Filtered := True;
  s := '';

  if text <> '' then

    for i := 1 to grd.ColCount-1 do begin
      if not grd.Columns[i].Field.Lookup then
        if s = '' then
          s := '(' + grd.Columns[i].FieldName + ' LIKE ' + QuotedStr('%' + text + '%') + ')'
        else
          s := s + ' OR (' + grd.Columns[i].FieldName + ' LIKE ' + QuotedStr('%' + text + '%') + ') ';
    end;

  ds.filter := s;

end;
daha sonra formda bu procedure u su sekilde kullaniyorum

Kod: Tümünü seç

procedure TfrmIhale.eSearchChange(Sender: TObject);
begin
  DM.Search(ds, eSearch.Text, DBAdvGrid1);
end;
Datasette bazi lookup alanlar var ve bunlar icinde arama yapmak istiyorum grid kontrolu uzerinde. Fakat lookup alanlar icin hata aliyorum.
Buna nasil halledebilirim?

Cevapla