devexpresin cxFilterControl 'nde verilerin otomatik gelmesi

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
sen
Üye
Mesajlar: 34
Kayıt: 04 Tem 2003 01:33
Konum: Ankara

devexpresin cxFilterControl 'nde verilerin otomatik gelmesi

Mesaj gönderen sen »

selam arkadaşlar.
Devexpres in cxFilterControl / cxDBFilterControl bileşenlerini kullanıyorum.
gerçekten hoş bir filtreleme kontrolü.
istediğim, filtrelenecek alanları seçince karşına bu alana ait tüm verilerin grublanarak (aynı kayıtların tek olarak) çıkması. evet bunu yapıyorum yani örneğin cxDBFilterControl kullanıyorsam items leri tanımlayıp Properties bölümüne bir LookupComboBox atayınca istediğim oluyor.
ancak alanların sayısı çok (bazen bir tablonun 40 alanı oluyor) hangi birine bir source bağlayıp grublama filan yapacaksın. bayağı yorucu bir iş.
Bunun yerine seçtiğim alanın adını (CARI_ISMI) döndüren bir yöntem yok mu ? en kötüsü bunu alsam belki DataSource nin OnDataChange olayını kullanarak bir şeyler yapılabilir. (Baktığım kadarıyla cxFilterControl da buna uygun bir Events yok.)
Veya bunun tam bir çözümünü bilen varsa lütfen paylaşsın
teşekkürler.......
Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2356
Kayıt: 12 Haz 2003 04:05
Konum: merkez camii yanı

Mesaj gönderen freeman35 »

Tam Olarak ne istediğini anlamadım ? grup da yazmışsın Grup ile filtre farklı, sormaya çalıştığın bu filtreleri runtimeda hazırlamakmı ?
çok fazla kayıt varsa sana tavsiyem Query kullanıp SQL ile filtrele kayıtları performans artışın olur
Kolay gele
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5

Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
sen
Üye
Mesajlar: 34
Kayıt: 04 Tem 2003 01:33
Konum: Ankara

Mesaj gönderen sen »

evet bende query kullanıyorum ama cxDBFilterControl de filtrelemek istediğim alanın ismini seçtiğimde karşısına otomatik olarak seçtiğim alanın veri tabanındaki verileri geliyor. tabi bunu yapmak için bir LookupComboBox bileşeni bağlıyorum onada Source ve bunun Query lisin bağlıyorum. Böyle yapınca her şey tamam.
Yani bir tablom var diyelim alanları da ADI_SOYADI, TELEFONU, SEHIR olsun. Şimdi cxDBFilterControl da bir alan seçiyorum (SEHIR) bunun karşısın hemen otomatik bu alana ait kayıtlı olan veriler geliyor. (aynı kayıtların tek olması için 'select SEHIR From VERILER Group by SEHIR' gibi bir sorgu kullanıyorum.
Şimdi proplem şu. Tablodaki alan sayısı fazla olunca (ADI_SOYADI, ALAN_1, ALAN_2....ALAN_30) her birine bir LookupComboBox bağlamak onada bir source , query bağlamak.
Bunun yerine tek bir query kullanmak bunun sorgusunuda runtime olarak değiştirmek istiyorum.
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7586
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Eğer o tarz kullanmak istiyorsan cxDBComboBox kullan. Tek bir Query ile tüm combobox'lara gerekli itemları eklersin.

Kod: Tümünü seç

Query1.SQL.Close;
Query1.SQL.Clear;
Query1.SQL.Add('....'); // kayıtları seçtik
Query1.Open;
{burda Query'de seçilen kayıtları cxDBComboBox1'e ekle}

Query1.SQL.Close;
Query1.SQL.Clear;
Query1.SQL.Add('....'); // diğer kayıtları seçtik
Query1.Open;
{burda Query'de seçilen kayıtları cxDBComboBox2'ye ekle}

....
gibi yapabilirsin. Gerek var mı dersen, bence sayı çok fazla değilse Lookup kullan.

Kolay gelsin.
Cevapla