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
cxgridde filtreleme
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 52
- Kayıt: 02 Nis 2007 04:52
- İletişim:
cxgridde filtreleme
CEMRE BİLGİSAYAR YAZILIM
http://www.cemre.web.tr
http://www.cemre.web.tr
Re: cxgridde filtreleme
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.
-
- Üye
- Mesajlar: 52
- Kayıt: 02 Nis 2007 04:52
- İletişim:
Re: cxgridde filtreleme
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;
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
http://www.cemre.web.tr