cxgridde filtreleme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
cemrebilgisayar
Üye
Mesajlar: 52
Kayıt: 02 Nis 2007 04:52
İletişim:

cxgridde filtreleme

Mesaj gönderen cemrebilgisayar »

merhaba arkadaşlar,
cxgrid de yapmış olduğum sıralama ve filitreleme yaptığımda gridde çalışıyor ama ibdataset de filtreleme yapmıyor bunun için ne yapmalıyım cxgrid bununla ilgili bir ayarı varmı cxgrid6.0 kullanıyorum
CEMRE BİLGİSAYAR YAZILIM
http://www.cemre.web.tr
Kullanıcı avatarı
undefined
Moderator
Mesajlar: 565
Kayıt: 06 Eki 2003 12:01
Konum: Bursa
İletişim:

Re: cxgridde filtreleme

Mesaj gönderen undefined »

CxGrid bütün kayıtları çeker ve gerekli filtreleme-sıralama işlemlerini kendi içinde yapar dataset'e elleşmez default olarak. Datacontroller->Filter->AutoDataSetFilter = True yaparsan filter işlemini dataset üzerinde yapar.
cemrebilgisayar
Üye
Mesajlar: 52
Kayıt: 02 Nis 2007 04:52
İletişim:

Re: cxgridde filtreleme

Mesaj gönderen cemrebilgisayar »

merhaba arkadaşlar gridde filitrelemeyi çözdüm

procedure Suz(QUERY:TIBQuery; Grid : TcxGridDBTableView; FilterControl:TcxFilterControl; SqlText : String);
VAR OrderByText : String;
begin
FilterControl.ApplyFilter;
with QUERY do
begin
DisableControls;
Close;
sql.Clear;
sql.Add(SqlText);
IF Grid.DataController.Filter.FilterText <> '' THEN
sql.Add(' WHERE '+ AnsiUpperCase(Grid.DataController.Filter.FilterText));

Open;
EnableControls;
OrderByText := Grid.SortedItems[0].DataBinding.FilterFieldName; // bu alan gridde hangi kolonunu küçükten büyüğe sıralı olduğunu gösteriyor
DisableControls;
Close;
if Grid.SortedItems[0].SortOrder <> soNone then
if Grid.SortedItems[0].SortOrder = soAscending then // bu alan küçükten büyüğe sıralandığında query ekleme yapıyor
sql.Add(' ORDER BY '+ OrderByText ) ELSE
if Grid.SortedItems[0].SortOrder = soDescending then // bu alan büyükten küçüğe sıralandığında query ekleme yapıyor
sql.Add(' ORDER BY '+ OrderByText+' DESC');
Open;
EnableControls;
ShowMessage(sql.Text);
end;


// cxGrid1DBTableView1.DataController.Filter.Active := True;
end;
CEMRE BİLGİSAYAR YAZILIM
http://www.cemre.web.tr
Cevapla