İlginizi Çekebilir
  1. Ana Sayfa
  2. C Sharp
  3. C# DevExpress GridControl Kodla Bir Sütuna Filtre Uygulama

C# DevExpress GridControl Kodla Bir Sütuna Filtre Uygulama

C# DevExpress GridControl Kodla Bir Sütuna Filtre Uygulama 

C# DevExpress GridControl Kodla Bir Sütuna Filtre Uygulama, dersim ile C# eğitim setime devam ediyorum. Bu dersimde DevExpress GridControl nesnesine kod ile filtre uygulama işlemine bakacağız.

C# DevExpress GridControl Kodla Bir Sütuna Filtre Uygulama

DevExpress kullanıyorsanız, şüphesiz en sevdiğiniz nesne GridControl / GridView’dir. Çünkü kod yazmadan inanılmaz özelleştirmeler yapabiliyoruz. Ancak bazen kod ile özelleştirmeler yapmak durumunda kalıyoruz. Örneğin benim için bu dersi yazma sebebim olan istek, bir sql sorgusunu gridview ‘de gösterdikten sonra grid üzerine filtreler vererek kontrol süresini kısaltmak.

Elbette bu filtreleri sql sorgusu ile verebilirdim ama o işime gelmiyor çünkü sorgudan devasa boyutta bilgi geliyor. Kullanıcı her filtre vermesinde tekrar tekrar sql ‘e gidip tekrar sorgu çekilmesi ve listenin yenilenmesi kanser edici bir hale dönüşüyor. Bu yüzden hızlı bir şekilde kullanım ve kontrol sağlamak amacı ile gridview üzerinde filtreler vererek bir kere yüklenen liste üzerinde çalışmak daha mantıklı oluyor.

 

Nasıl yapılır: Kodla Bir Sütuna Filtre Uygulama

Şimdi bu filtreleri nasıl vereceğimizi görelim.

Gerekli olan NameSpace;

using DevExpress.XtraGrid.Columns;

Aşağıdaki kod, gönderen ülke adları ‘F’ ile başlayan kayıtları seçer. Gerekli filtre, bir ColumnFilterInfo nesnesi kullanılarak oluşturulur . Daha sonra GridColumn.FilterInfo özelliğine atanır .

gridView1.Columns["GonderenUlke"].FilterInfo =   new ColumnFilterInfo("[GonderenUlke] LIKE 'F%'");

Yukarıda gördüğünüz şekilde SQL sorgularında where kısmına benzer şekilde kullanım yapıyoruz. Şimdi bir kaç örnek daha görelim.

 

Diğer örneğimiz için bu NameSpace’de gereklidir.

using DevExpress.XtraGrid.Views.Base;
ColumnView view = gridView1;
view.ActiveFilter.Add(view.Columns["KategoriAdı"],   new ColumnFilterInfo("[KategoriAdı] Like 'c%'", ""));

Yukarıdaki örnekteki kod, bir görünüme ColumnView.ActiveFilter nesnesi aracılığıyla bir görünüme filtre koşulunun nasıl ekleneceğini gösterir . Filtre koşulu, KategoriAdı alanları ‘c’ ile başlayan kayıtları seçer.

İlk örnektekinden farklı bir şekilde verilmiş bir filtredir.

 

Burada birden fazla da filtre verebiliriz. O işlemi de bir görelim.

using DevExpress.XtraGrid.Views.Base;
using DevExpress.XtraGrid.Columns;


ColumnView view = gridView1;
ViewColumnFilterInfo viewFilterInfo = new ViewColumnFilterInfo(view.Columns["KategoriAdı"], 
  new ColumnFilterInfo("[KategoriAdı] = 'Haber' OR [KategoriAdı] = 'Makale'", ""));
view.ActiveFilter.Add(viewFilterInfo);

Gördüğünüz gibi KategoriAdı kolonu üzerinden Haber Veya Makale olanları istedik.

Yukdarıda bahsettiğim gibi SQL sorgularımızdaki Where kısmında yazdığımız şartlar gibi. Aralarında Çok bir fark yok.

 


C# DevExpress GridControl Kodla Bir Sütuna Filtre Uygula dersimiz de bu kadar arkadaşlar. Diğer derslerimizde görüşmek üzere.

C Sharp Eğitim Seti eğitimi sayfasına gitmek için tıklayınız.

Derslerime özel olarak hazırladığım Github Projeme buradan ulaşabilirsiniz…

Takipte ve Sağlıcakla kalın. 😉

Yorum Yap

Yazar Hakkında

Liseden, Ağ Sistemleri ve Yönetimi bölümünden mezun oldum. Üniversiteden (2 yıllık), Bilgisayar Programcılığı bölümünden mezun oldum. Şuanda da AÖF, Yönetim Bilişim Sistemleri bölümünde okumaktayım. Uzmanlık alanlarım; Windows Sistemleri, HTML, CSS, C# ve SQL’dir. Hobi olarak uğraştığım genel konular, Photoshop, After Affects, Corel Draw’dır.Film, YABANCI dizi, Anime izlemeyi ve Manga okumayı severim. Arkadaşlarımla yürüyüş yapmayı ve grup olarak aktivitelere gitmeyi severim. Geri kalan zamanlarımın tümü bilgisayar karşısında geçer.

Yorumlarınız Değerlidir. Yorumlarınızı Bekliyorum

Yorumlar (2)

  1. mustafabukulmez_avatar

    Peki “DegiskenAdı” isminde bir değişkenimiz var. Bu değişkeni kullanarak “FIRMAID” sütununa nasıl filtreleme yapabiliriz ?

    • mustafabukulmez_avatar

      Merhaba, denemedim ama
      gridView1.Columns[“GonderenUlke”].FilterInfo = new ColumnFilterInfo(“[GonderenUlke] LIKE ‘”+DegiskenAdı+”%'”);
      bu şekilde olması gerek diye düşünüyorum.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir