Arkadaşlar cxgride kod ile calisma anında nasıl filtre ekleyebilirim? Sadece belirli bir alanı kriterime uyan kayıtlar gorunsün istiyorum...
Kolay gelsin....
cxgrid'e çalışma anında filtre ekleme....
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
cxgrid'e çalışma anında filtre ekleme....
* http://www.fahrettin.org Manzara Fotoğraflarım... 
* http://delphiturkiye.gunduz.info Seminerler...
* http://www.hakmar.com.tr Kalite bir haktır...

* http://delphiturkiye.gunduz.info Seminerler...

* http://www.hakmar.com.tr Kalite bir haktır...

Şuna benzer bir kod işinizi görecektir:
İyi çalışmalar.
Kod: Tümünü seç
procedure TMyMainDataEntranceForm.Button1Click(Sender: TObject);
var
aItemList: TcxFilterCriteriaItemList;
begin
cxGrid1DBBandedTableView1.DataController.Filter.BeginUpdate;
try
Screen.Cursor := crHourGlass;
aItemList := cxGrid1DBBandedTableView1.DataController.Filter.Root.AddItemList(fboOr);
aItemList.AddItem(cxGrid1DBBandedTableView1.Controller.FocusedItem, foEqual, 'A', 'A');
finally
cxGrid1DBBandedTableView1.DataController.Filter.EndUpdate;
if not cxGrid1DBBandedTableView1.DataController.Filter.Active then cxGrid1DBBandedTableView1.DataController.Filter.Active := TRUE;
if cxDBVerticalGrid1.Visible then cxDBVerticalGrid1.DataController.Filter := cxGrid1DBBandedTableView1.DataController.Filter;
Screen.Cursor := crDefault;
end;
end;
Fahrettin abi tamda bunla uğraştım bugün 
@Hakancan'ın söylediklerine ilaveten
Burdaki yazıya bakabilirsin. Bana yardımcı oldu
http://www.devexpress.com/Support/Knowl ... kbid=A1937
Ben şöyle bir sistem kurdum.
Kullanıcının filtreleme yapmak istediği alanlar için giriş yapılacak metin kutularına designtime da taglarına sırasıyla numara verdim.
Sonra bu alanlara düşen cxgrid viewinin columlarınada denk düşen editin tagını verdim.
Sonra bütün editlerin onchange olayını bir procedure yönlendirdim.
Onada şöyle bir kod yazdım
Bu sistemle bayağ bir angarya koddan kurtulduğumu düşünüyorum. Bu yolla ekleyince hep 'and' kriteriyle ekleniyor. Ama araştırılırsa diğer operatorlerle nasıl ekleneceğide çözülür herhalde.

@Hakancan'ın söylediklerine ilaveten
Burdaki yazıya bakabilirsin. Bana yardımcı oldu
http://www.devexpress.com/Support/Knowl ... kbid=A1937
Ben şöyle bir sistem kurdum.
Kullanıcının filtreleme yapmak istediği alanlar için giriş yapılacak metin kutularına designtime da taglarına sırasıyla numara verdim.
Kod: Tümünü seç
edtAd.tag := 1;
edtSoyad.tag := 2;
...
Kod: Tümünü seç
colAd.tag := 1;
colsoyad.tag := 2;
...
Onada şöyle bir kod yazdım
Kod: Tümünü seç
procedure TF_YapiBul.edPaftaPropertiesChange(Sender: TObject);
var
cxfilter :TcxDBDataFilterCriteria;
i:integer;
function getcolbytag(tagno:integer):TcxGridDBBandedColumn;
var
a:integer;
begin
for a := 0 to btv_YabiBul.ColumnCount-1 do
begin
if btv_YabiBul.Columns[a].Tag = tagno then
begin
result := btv_YabiBul.Columns[a];
exit;
end;
end;
end;
begin
// filtrelenicek column ların Taglarıyla, onlara denk düşen editlerin tagları aynı verildi
cxfilter := btv_YabiBul.DataController.Filter;
cxfilter.BeginUpdate;
cxfilter.Clear;
for i := 0 to self.ComponentCount-1 do
begin
if (Components[i].Tag in [1..8]) and
(Components[i] is Tcxcustomtextedit)then
begin
if trim(Tcxcustomtextedit(Components[i]).Text) <> '' then
begin
cxfilter.AddItem(nil,getcolbytag(Components[i].Tag),folike,Tcxcustomtextedit(components[i]).Text + '%',Tcxcustomtextedit(components[i]).Text + '%');
end;
end;
end;
cxfilter.EndUpdate;
end;
teşekkürler arkadaşlar..... 

* http://www.fahrettin.org Manzara Fotoğraflarım... 
* http://delphiturkiye.gunduz.info Seminerler...
* http://www.hakmar.com.tr Kalite bir haktır...

* http://delphiturkiye.gunduz.info Seminerler...

* http://www.hakmar.com.tr Kalite bir haktır...

arkadaslar bu like buyuk kucuk harfe duyarlıdır.. denedim oyle oldu.. bunu nasıl duyarsız yapabiliriz..
ben boyle bir yol denedim.. ama bu da sadece butun harfler ya buyuk ya kucukse uyar.. yannı filtreleme yapacağım alan buyuk kucuk harf karışıksa nasıl olacak
...
ben boyle bir yol denedim.. ama bu da sadece butun harfler ya buyuk ya kucukse uyar.. yannı filtreleme yapacağım alan buyuk kucuk harf karışıksa nasıl olacak
...
Kod: Tümünü seç
with cxGrid3DBTableView1.DataController.Filter do begin
Clear;
Root.AddItem(cxGrid3DBTableView1hesapadi,foLike,cxTextEdit2.Text+ '%',cxTextEdit2.Text+ '%');
Root.BoolOperatorKind := fboOr;
Root.AddItem(cxGrid3DBTableView1hesapadi,foLike,UpperCase(cxTextEdit2.Text)+ '%',cxTextEdit2.Text+ '%');
Active := true;
end ;
İnsanca.... Pek insanca....