Datagridview İçerisinde Arama RowFilter Kullanımı C#

Posted by

Merhaba bu yazımızda Datagridview içerisinde arama (filtreleme) yapmayı anlatıyor olacağız.
Datagridview içerisinde arama – rowfilter kullanımı.

Hazırladığımız her programda illa lazım olan seçeneklerden biride datagridview içerisinde arama yapmak oluyor. Bunun için kendi yönteminizi geliştirebilirsiniz fakat olayın temelinde ne var bunu ne tür yöntemlerle yapabiliriz diye soracak olursanız bu yazı tam size göre.

c# datagridview Araması yapabilmek için dilerseniz önce olayı simüle edelim.

C# datagridview içerisinde arama – rowfilter kullanımı.

Diyelim ki datagridview içerisinde öğrenci listemiz olsun ve textbox içerisine yazmaya başlayınca datagridview ona göre filtrelensin. Form tasarımıza geçelim.

Not : Daha önce sqlden datagridviewe veri çekmeyi anlatmıştık. Konuyu incelemek isterseniz BURADAN ulaşabilirsiniz.
Datagridview Search – Form Desin

Yaptığımız tasarım sql veritabanı ile çalışmaktadır. Sql veri tabanı bağlantısı yapalım ve ogrenci tablosundaki verileri datagridview üzerine listeleyelim. Fakat bu örnekte kullanacağımız yöntemle filtreleme yapabilmemiz için verilerin datatable üzerinden aktarılmış olması şart. Datatable sınıfını Buradan inceleyebilirsiniz. Sql bağlantımızı yapabilmemiz için usinglerimizi eklemekle başlıyoruz.

using System.Data;
using System.Data.SqlClient;

Sırada sql bağlantı cümlemizi ve kullanacağımız datatable, sqldataadapter ve sql command değişkenlermizi ekliyoruz.

SqlConnection con = new SqlConnection("Data Source=.; Initial Catalog=okul; Integrated Security=True; Persist Security Info=False");

SqlDataAdapter da;
SqlCommand cmd;
DataTable dt = new DataTable();

Using lerimizi ekledik ve Sql bağlantımızı yaptık. Şimdi listele metodumuzu da ekleyelim. Eklediğimiz metod içerisinde sql select sorgusunu sqldataadapter değişkenimize aktarıyoruz. Bağlantıyı açıyoruz ve gelen listeyi datatablemize eşitliyoruz. Datagridview datasource içerisine datatablemizi aktarıyoruz ve son olarak bağlantımızı kapatıyoruz.

 void Listele()
 {
     da = new SqlDataAdapter("Select * From ogrenci", con);
     con.Open();
     da.Fill(dt);
     dataGridView1.DataSource = dt;
     con.Close();
 }

Datagridview içerisinde textbox ile arama yapmak için textbox _TextChanged içerisine kodlamamızı yapacağız. Bunun için bir Dataview oluşturup default olarak datatablemizi tanımlıyoruz. Dataview rowfilter kullanarak ilgili sutun başlığını sql kodu olan like ile filtreleme yapıyoruz. Ardından datagridview datasource mize filtrelediğimiz dataviewi aktarıyoruz.

private void txSearch_TextChanged(object sender, EventArgs e)
{
 DataView dv = dt.DefaultView;
 dv.RowFilter = "Ad LIKE '" + txSearch.Text + "%'";
 dataGridView1.DataSource = dv;
}

Sırasıyla yaptığımız işlemlerin üzerinden geçmek gerekirse;

  • Sql bağlantımız için using tanımlamalarımızı yaptık
  • Sql bağlantısı için bağlantı cümlemizi tanımladık
  • Listeleme için kullanacağımız sql değişkenlerimizi tamamladık
  • Bir metot içerisine datagridview üzerinde göstereceğimiz listeyi datatable üzerinden çektik
  • textbox changed içerisine dataview rowfilter ile filtrelememizi gerçekleştirdik.

Sonuç

c# datagridview içerisinde arama - rowfilter

Datagridview içerisinde filtrelemeyi Rowfilter ile yaptığımız bu yazımızın sonuna geldik. Blog sitemiz ile ilgili ve konuyla alakalı soru ve önerilerinizi yorumlarda belirtmenizi isterim. Görüşleriniz bizler için değerlidir. Bir sonra ki yazımızda görüşmek dileğiyle.

İlginizi Çekebilir

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir