C# C# Windows Form Örnekleri Programlama

C# DataGridView İçinde Arama Yapma

Bu yazımızda DataGridview içinde bulunan veriler üzerinde arama yaparak aranan kaydın DataGridView hücresini renklendiren bir örnek oluşturacağız. Örneğimizde basit bir veri tabanı bağlantısı yaparak verilerin Datagridview içerisinde görüntülenmesini sağlayacağız.

Daha sonra arama yapmak için eklediğimiz Textbox kontrolünün TextChanged olayını kullanarak datagridView üzerinde Tüm hücrelerin üstünde arama işlemini gerçekleştireceğiz. Tüm hücrelerin taranması işlemi için Foreach döngüsünden faydalanacağız.

Form tasarımımız aşağıdaki gibi olacak. 1 adet DataGridView,1 adet Label ve 1 adet TextBox kontrolü ekli olacak.

Kodlarımıza bakalım.
İlk olarak aşağıdaki kütüphaneyi ekleyelim.

Daha sonra Form_Load içinde dbOkul isimli access dosyasından Ogrenci tablosunu kullanarak verilerin DataGridView üzerinde listelenmesini sağlıyoruz.

Şimdide Textbox_TextChanged olayı içinde arama işlemini gerçekleştirelim. Burada büyük/küçük harf duyarlılığına takılmamak için ToUpper metodunu kullandığımızı belirtelim.(ToLower metodu da kullanılabilirdi.) Arama yapılacak textBox üzerinde çift tıklanarak bu bölüme ulaşabilirsiniz.

Kodlarımızı tamamlamış olduk. Ekran çıktısına bakalım.

14 Yorum

  • selamunaleykum ustam bir sorum olacak sana

    for (int i = 0; i <= dataGridView1.Rows.Count – 1; i++)
    {
    foreach (DataGridViewRow row in dataGridView1.Rows)
    {
    foreach (DataGridViewCell cell in dataGridView1.Rows[i].Cells)
    {
    if (cell.Value != null)
    {
    if (cell.Value.ToString().ToUpper() == "1-TAM BOYUN KESİLMESİ")
    {
    ///şartı bu olanların 9. sütunda olan sayısal verilerinin toplanmasını istiyorum ustam lakin bir türlü yapamadım.
    cell.Style.BackColor = Color.DarkTurquoise;
    break;
    } }

  • Hocam aslında benim sorum reportViewer hakkında olucaktı en uygun başlık olarakda bu formu seçtim.Soruma dönersek.Stok takip otomasyonu yapıyorum birden fazla tablom var ve bu tabloları tek form içersindeki tekreportViewer ile halletmek istiyorum.Bu mümkünmü münkünse yardımcı olurmusnuz.Bu cmbobox datagrid de calısıyor tek formda combobox ile bircok formu acabiliyorum ama bunu reportViewer a nasıl onaylarım yardımlarınız için simdiden saolun.

    • selamun aleykum. Bi forma report view yerlestir. Sonra bitane report wizard olustururken datasetine cagiracagin formlari secmeni isteyecek tum formlari sec. Umarim budur istedigin

  • if (cell.Value.ToString().ToUpper() == aranan)
    {
    // sadece buldukları datagiridview de görünsün diğerleri görünmesin. Nasıl yaparım.
    break;
    }

  • Merhaba. Örneğinizi inceledim. Gayet başarılı. Datagridview değil de TABLE kullanılan ve access değilde sqldeki bir tablodan verileri listeleyen bir sayfa çalışması yaptım. ancak sqlden gelen verileri bir türlü tabloda gösteremedim. Sürekli tanımladığım hata mesajı geliyor “KAYIT BULUNAMADI”. Siz de bu şekilde bir örnek yapar mısınız?

      • asp.net ile yapıyorum. gridview ile yaptığımda sorun yaşamadım sorun yok ama onun şekillendirmesini pek beceremedim görsel olarak. sizin gridviewlar daha güzel görünüyor ama yapamayınca table ile yapmaya çalıştım.

  • merhaba ahmet bey bi sorunum var
    DataGridView içinde sizin yaptıgınız gibi oluyor aramalar ama ben sutunlarda aynı değerden 2 yada daha fazla değer olduğunda her aramada birini bulmak istiyorum bu konuda yardım ederseni sevinirim

  • örnek verilen kodları 3500 adet veri olan datagribde denedim kilitleniyor küçük işlemlerde sorun yok ama iş büyüdüğünde bellek ile ilgili sıkıntı çıkıyor sanırım.

    • Merhaba . Dediğiniz gibi olabilir. O kadar fazla kayıtla denememiştim hiç. Belki kodlarda birkaç iyileştirme yapılabilir.Foreach döngüsü yerine for döngüsü kullanarak yaparsanız biraz daha hızlanacaktır. Bir ara bende denemesini yaparım.

Yorum yap