cxdbfiltercontrol
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
cxdbfiltercontrol
selamın aleyküm arkadaşlar.
cxfiltercontrol yada cxdbfiltercontrol araçlarını cxgrid olmadan kullanmak istiyorum. yani kod ile adotable'yi yada adoquery'yi filtrelemek istiyorum.
bunu herhangi bir grid de gösterebilirmiyim (cxgrid hariç).
bunu cxfiltercontrol den raporlamada faydalanmak için istiyorum.
şimdi ben olayı şöyle yapıyorum ama yaptığım bi eksiklik var sanırım:
cxdbfiltercontrol'u tabloya bağlıyorum..
sonra bir butona cxdbfiltercontrol1.applyfilter; diyorum
ama sonuç sıfır:(
sonra bunu cxgrid üzerine uyguladım... sonuç aldım ama filtreyi uyguladıktan sonra filtreyi seçmedi. sonuç olarak da tablo filtrelenmedi.
burada butona başka bir şey daha eklemem gerek sanırım. cxfiltercontrolün bütün olaylarını inceledim, hepsini denedim ama gene sonuç alamadım.
tahminim küçük bi ayrıntıyı kaçırıyorum...
yardımlar için şimdiden eyvallah...
cxfiltercontrol yada cxdbfiltercontrol araçlarını cxgrid olmadan kullanmak istiyorum. yani kod ile adotable'yi yada adoquery'yi filtrelemek istiyorum.
bunu herhangi bir grid de gösterebilirmiyim (cxgrid hariç).
bunu cxfiltercontrol den raporlamada faydalanmak için istiyorum.
şimdi ben olayı şöyle yapıyorum ama yaptığım bi eksiklik var sanırım:
cxdbfiltercontrol'u tabloya bağlıyorum..
sonra bir butona cxdbfiltercontrol1.applyfilter; diyorum
ama sonuç sıfır:(
sonra bunu cxgrid üzerine uyguladım... sonuç aldım ama filtreyi uyguladıktan sonra filtreyi seçmedi. sonuç olarak da tablo filtrelenmedi.
burada butona başka bir şey daha eklemem gerek sanırım. cxfiltercontrolün bütün olaylarını inceledim, hepsini denedim ama gene sonuç alamadım.
tahminim küçük bi ayrıntıyı kaçırıyorum...
yardımlar için şimdiden eyvallah...
ben bahsettiğin nesneyi hiç kullanmadın. çünkü; bu nesnenin cxgrid'in filter özelliğine müdehale ettiği düşündüm. yani bu nesne tablonun tüm verileri çekmesine izin veriyor ondan sonra grid üzerinde filtreleme yapıyor. tabi yanılıyor olabilirim. Eğer benm düşündüğüm doğruysa cxgrid'dışında kullanman mümkün olmaz.
Kolay gelsin.
Kolay gelsin.
TcxCustomFilterControl.FilterText diye bir property var.
Help'e baktığında zaten bir örnek vermiş:
İyi çalışmalar.
Help'e baktığında zaten bir örnek vermiş:
Kod: Tümünü seç
with cxDBFilterControl1.DataSet do
begin
Filter := cxDBFilterControl1.FilterText;
Filtered := True;
end;
cxdbfiltercontrol1.filteroptions altındakiler aynen şöyle
DateTimeFormat : boş
PercentWildcart : %
SoftNull : True
SupportedBetween : True
Supportedln : True
Supportedlike :True
TranslateBetween True
Translateln :True
UnderscoreWildcard : _
DataSet'in Filter'ine atadığım FilterText'in ne olduğu konusunu tam anlamadım. ben cxdbfiltercontrol bileşenini tabloya bağladım ve sonrasında programı çalıştırdım. ardından between a and b diye seçtim (cxdbfiltercontrol ü). sonrasında filter olayını aktif yapınca hata verdi.
durum bundan ibaret

DateTimeFormat : boş
PercentWildcart : %
SoftNull : True
SupportedBetween : True
Supportedln : True
Supportedlike :True
TranslateBetween True
Translateln :True
UnderscoreWildcard : _
DataSet'in Filter'ine atadığım FilterText'in ne olduğu konusunu tam anlamadım. ben cxdbfiltercontrol bileşenini tabloya bağladım ve sonrasında programı çalıştırdım. ardından between a and b diye seçtim (cxdbfiltercontrol ü). sonrasında filter olayını aktif yapınca hata verdi.
durum bundan ibaret


Eğer yazdığın kodları göndermende bir sakınca yoksa hcan1969@yahoo.com adresine zipleyip gönderirsen direk koda bakarak cevaplamaya çalışabilirim (en azından sorun olan bölümü).
Zira bu bilgilerle tam yorum yapamıyorum.
İyi çalışmalar.
Zira bu bilgilerle tam yorum yapamıyorum.
İyi çalışmalar.
Birkaç mesaj önce demiştim gerçi sen de düzgün demişsin ama gönderdiğin kodda farklı. Düzeltmen gerekenler şunlar:
cxDBFilterControl1.FilterOptions.TranslateBetween := TRUE;
cxDBFilterControl1.FilterOptions.TranslateIn := TRUE;
Bunlar şu anlama geliyor. Between özelliğini kullandığında normalde örneğin: "KOD BETWEEN 3 AND 9" olarak FilterText'e atama yapar ki bunu DataSet'lerin Filter özellikleri desteklemez. Ancak TranslateBetween := TRUE dediğinde bunu "((KOD >= 3) AND (KOD <= 9))" olarak FilterText'e atar ki bunu DataSet'lerin Filter özellikleri destekler.
Aynı şey IN için de ğeçerli.
Eğer sorunu çözemezsen kodların düzeltilmiş şeklini e-maille gönderirim.
İyi çalışmalar.
cxDBFilterControl1.FilterOptions.TranslateBetween := TRUE;
cxDBFilterControl1.FilterOptions.TranslateIn := TRUE;
Bunlar şu anlama geliyor. Between özelliğini kullandığında normalde örneğin: "KOD BETWEEN 3 AND 9" olarak FilterText'e atama yapar ki bunu DataSet'lerin Filter özellikleri desteklemez. Ancak TranslateBetween := TRUE dediğinde bunu "((KOD >= 3) AND (KOD <= 9))" olarak FilterText'e atar ki bunu DataSet'lerin Filter özellikleri destekler.
Aynı şey IN için de ğeçerli.
Eğer sorunu çözemezsen kodların düzeltilmiş şeklini e-maille gönderirim.
İyi çalışmalar.