cxdbfiltercontrol

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
naklov67
Üye
Mesajlar: 84
Kayıt: 05 Nis 2005 11:50
Konum: izmir yada afyon

cxdbfiltercontrol

Mesaj gönderen naklov67 »

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...
kalem yazar da silgi şair mi?
http://www.alembu.com
http://www.ekonorm.com
mkysoft
Kıdemli Üye
Mesajlar: 3110
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Mesaj gönderen mkysoft »

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.
Hakan Can
Üye
Mesajlar: 634
Kayıt: 04 Mar 2005 04:27
Konum: Ankara

Mesaj gönderen Hakan Can »

TcxCustomFilterControl.FilterText diye bir property var.

Help'e baktığında zaten bir örnek vermiş:

Kod: Tümünü seç

with cxDBFilterControl1.DataSet do
begin
  Filter := cxDBFilterControl1.FilterText;
  Filtered := True;
end;
İyi çalışmalar.
Kullanıcı avatarı
naklov67
Üye
Mesajlar: 84
Kayıt: 05 Nis 2005 11:50
Konum: izmir yada afyon

Mesaj gönderen naklov67 »

çok teşekkürler kardeş. sorduğum şey buydu.
bazen böyle basit şeyler çok uğraştırıyor insanı.
tekrar teşekkürler :P
kalem yazar da silgi şair mi?
http://www.alembu.com
http://www.ekonorm.com
Kullanıcı avatarı
naklov67
Üye
Mesajlar: 84
Kayıt: 05 Nis 2005 11:50
Konum: izmir yada afyon

Mesaj gönderen naklov67 »

Öylesine bi denedim de sorunsuz çalışıyordu. ancak cxfiltercontrol deki tüm filtrelemeleri table üzerinde uygulayamıyoruz sanırım. mesela arasında deyince hata veriyor.
bunun bir çözümü var mı?
kalem yazar da silgi şair mi?
http://www.alembu.com
http://www.ekonorm.com
Hakan Can
Üye
Mesajlar: 634
Kayıt: 04 Mar 2005 04:27
Konum: Ankara

Mesaj gönderen Hakan Can »

cxDBFilterControl1.FilterOptions'da TranslateBetween vs. gibi özellikler işini görecektir galiba.

İyi çalışmalar.
Kullanıcı avatarı
naklov67
Üye
Mesajlar: 84
Kayıt: 05 Nis 2005 11:50
Konum: izmir yada afyon

Mesaj gönderen naklov67 »

Kardeş çok sağol ilgin için ama hata veriyor gene:(
"Yanlış türdeki değişkenler kabul edilebilir aralık dışında veya birbaşkasıyla çakışan değişkenler kullanılıyor"

her sutun için denedim. yani sorun fieldin properties inde değil..
başka bir ayrıntıyı mı kaçırıyorum acaba?
:(
kalem yazar da silgi şair mi?
http://www.alembu.com
http://www.ekonorm.com
Hakan Can
Üye
Mesajlar: 634
Kayıt: 04 Mar 2005 04:27
Konum: Ankara

Mesaj gönderen Hakan Can »

DataSet'in Filter'ine atadığın FilterText'in ne olduğunu belirtebilir misin?

Bir de cxDBFilterControl1.FilterOptions'daki belirttiğin tüm değerler neler?

İyi çalışmalar.
Kullanıcı avatarı
naklov67
Üye
Mesajlar: 84
Kayıt: 05 Nis 2005 11:50
Konum: izmir yada afyon

Mesaj gönderen naklov67 »

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 :( :?
kalem yazar da silgi şair mi?
http://www.alembu.com
http://www.ekonorm.com
Hakan Can
Üye
Mesajlar: 634
Kayıt: 04 Mar 2005 04:27
Konum: Ankara

Mesaj gönderen Hakan Can »

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.
Hakan Can
Üye
Mesajlar: 634
Kayıt: 04 Mar 2005 04:27
Konum: Ankara

Mesaj gönderen Hakan Can »

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.
Kullanıcı avatarı
naklov67
Üye
Mesajlar: 84
Kayıt: 05 Nis 2005 11:50
Konum: izmir yada afyon

Mesaj gönderen naklov67 »

s.a.
ben dediğin şeyleri yaptım ama sorun çözülmedi. gerçi sana gönderdiğim de değiştirmeyi unutmuş olabilirim.. :(
neyse eğer mail atabilirsen sevinirim.
kalem yazar da silgi şair mi?
http://www.alembu.com
http://www.ekonorm.com
Cevapla