C# DataGridView’ de Sağ Tuş Menüsü Kullanarak Veri Silme – Ahmet Cansever
Pazartesi , 24 Temmuz 2017
Anasayfa » C# » C# DataGridView’ de Sağ Tuş Menüsü Kullanarak Veri Silme

C# DataGridView’ de Sağ Tuş Menüsü Kullanarak Veri Silme

Bu yazımızda C# ile veri tabanından DataGridView içine veri çekerek oluşturduğumuz Sağ tuş menüsü (ContextMenuStrip) ile DatagridView kontrolü üzerinde farenin sağ tuşuna bastığımızda satırın seçilmesini ve bu seçilen satırdaki verinin veritabanından silinmesini gerçekleştiren bir örnek oluşturacağız.

datagrid_siralama_iptal

Örneğimizde yukarıdaki form tasarımını kullanacağız. Ayrıca kutuphane.mdb isimli access dosyasını kullanacağız. kutuphane.mdb dosyamızı projemizde Bin\Debug klasörüne kopyalayacağız.

Form açıldığında verilerin DatagridView kontrolünde gösterilmesini sağlayacağız. DataGridView üzerinde sağ tıklandığında ise satırın seçilmesini ve Sil komutunun görüntülenmesini sağlayacağız.Formumuz tasarlayarak Sağ tuş menüsü eklemek için Toolbox‘ tan ContextMenuStrip kontrolünü formumuza sürükleyelim ve Sil menüsünü oluşturalım.

datagrid_sag_tus_silme_2

Şimdi de DatagridView kontrolü üzerinde tıklayarak Properties penceresinde ContextMenuStrip özelliğini aşağıdaki gibi ayarlayalım.

Ayrıca yine DataGridview kontrolünde SelectionMode özelliğini FullRowSelect  ve MultiSelect özelliğini False olarak ayarlayalım.

Bu ayarları açıklamak gerekirse ContextMenuStrip özelliğinde oluşturduğumuz sağ tuş menüsünün DatagridView üzerinde sağ tuşa basıldığında çalışmasını, SelectionMode – FullRowSelect özelliği ile tüm satırın seçili olarak görünmesini ve MultiSelect özelliğinin False olarak ayarlanması ile de çoklu seçim yapılamayacağını ayarlamış oluyoruz.

datagrid_sag_tus_silme_3

 

Şimdi kodlarımızı yazacağız. Kodlarımızda Verileri çekme işlemini Doldur() isimli metotta, Silme işlemini ise Sil() isimli metotta gerçekleştireceğiz.

Kodlarımızı yazmaya;

 

kütüphanemizi projemize dahil ederek başlayalım.
Daha sonra kullanacağımız nesneleri projemize public olarak ekleyelim. numara adlı değişkeni datagridview’ de tıklanan satırdaki öğrencinin numarasını almak için kullanacağız.

Şimdi Doldur isimli metodumuzu oluşturalım. Bu metod verilerin DataGridView‘ de görüntülenmesini sağlayacak.

Daha sonra Sil isimli metodu oluşturacağız. Bu metot öğrenci numarasına göre kayıt silme işlemi yapacağından parametreli olarak oluşturacağız. Parametre olarak öğrenci numarasını alacağız.

Form_Load olayında datagridview’de kayıtların görüntülenmesini sağlamak için Doldur metodunu çağıralım.

DataGridview’de seçilen satırdaki kayda ait ogrno verisinin numara değişkenine aktarılmasını sağlayalım. Bunun için DatagridView MouseDown olayını kullanacağız.

Bu işlem sonucunda silmek istediğimiz öğrenci numarasını numara değişkenine almış oluyoruz. Şimdi ContextMenuStrip‘ te oluşturmuş olduğumuz Sil menüsüne basıldığında Sil metodu ve Doldur metodunun çalıştırılmasını sağlayalım.

Kodlarımızı tamamlamış olduk. Artık DataGridview üzerinde sağ tıklandığında Sil menüsü açılarak Sil butonuna basıldığında ilgili kaydın silinmesi sağlanacak.

datagrid_sag_tus_silme_1

Hakkında Ahmet C

İlginizi Çekebilir

C# Kura Çekimi ve Eşleşme Programı Örneği

Bu yazımızda C# ile kura çekimi ve eşleşme gerçekleştiren basit bir örnek oluşturacağız. Örneğimizde Listbox’ …

19 Yorumlar

  1. com.Parameters.AddWithValue(“@id”, Convert.ToInt32((dataGridView1.CurrentRow.Cells[0].Value)));
    satırında
    Nesne, DBNull’dan diğer türlere atanamaz.
    hatası alıyorum yardımcı olurmusunuz

  2. Hatanın sebebi ne olabilir sizce ? 🙁

  3. Kendi projeme uyarlamaya çalıştığımda tekrar aynı hata ile karşılatım ;
    con.Open();
    string sql = “delete from musteri where musteri_id=@no”;

    musteri_id alanını bulmuyor. Bursaki tanımlamayı tc_no, adi gibi değerlerle değiştirebilirmiyiz.

  4. Çok teşekkürler , oldu ufak bir hatam olmuş 🙂

  5. Attığınız örnekle birebir aynı , bu defa context menu çalışmıyor sağ tıkladığımda sil görünmüyor ve de ‘Form1.komut’ alanı hiçbir zaman kullanılmaz: gibi bir hata ile karşılaştım

  6. hata alıyorum yardımıcı olur musunuz. numara = Convert.ToInt32(dataGridView1.Rows[satir].Cells[“no”].Value); alan bulunamadı diyor

  7. Sayın eyp: Verilen örnek zaten SQL , Hoca’yı Abuk Sabuk şeylerle lütfen rahatsız etmeyiniz..

  8. Ahmet Cansever

    Site içinde sql bağlantısı örneği mevcut. Sağ tuş ile silme işlemi için ise çok önemli bir değişiklik olmayacaktır.

  9. bunu sql yaparmısınız size zahmet hoccam

Yorum Yap

Wordpress Tema indir