DATAGRİDVİEW DA SEÇİLİ SATIRDA İSTENİLEN SÜTUNUN DEGERİNİ ALMAK (C#)

Çoğu windows projelerinde, veritabanındaki kayıtları listelemek için DataGridView kontrolünü kullanırız. Bazı durumlarda listelenen kayıtları seçip silme, güncelleme gibi işlemler yapmak isteyebiliriz. Bu durumda datagridview da listelenen kayıtlarda seçtiğimiz satırdaki id gibi uniqe bir değeri alarak güncelleme,silme gibi işlemlerimizi bu değere göre yapmamız gerekecektir.

Bir örnek üzerinden seçtiğimiz satırdaki istenilen sütun değerini nasıl alacağımı inceleyelim.

Örnek projemiz aşağıdaki gibi olsun. Örneğimize göre seçili satırdaki id sütunundaki değeri alalım.

datagridvewda-secili-satirin-sutun-degerini-almak-1

datagridvewda-secili-satirin-sutun-degerini-almak-1

İlk olarak datagridview imizin CurrentCellChanged eventine aşağıdaki kodları yazalım.

private void dataGridView1_CurrentCellChanged(object sender, EventArgs e)
{ //1

Try //2
{
int id = Convert.ToInt32
(dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells[“id”].Value);//3
MessageBox.Show(id.ToString()); //4
}
catch
{

}
}

Şimdi yazdığımız kodlara açıklık getirelim.

//1 Biçoğumuzun aklına neden CurrentCellChanged eventi ? diye bir soru gelmiştir. CurrentCellChanged eventi datagridview a her tıkladığımızda tekrar tekrar çalıştığı için kullanıyoruz. Aksine CellContentClick eventini kullansaydık sadece ilk tıklamamızda çalışacaktı.

//2 CurrentCellChange eventi biz datagridview üzerinde seçim yapmasak bile bikaç defa çalışır. Default olarak ilk satırı kendi seçecektir ve daha sonra seçili bir satır olmadığı için yazdığımız kodda hata verecektir. Bunun önüne geçmek için try-catch bloğu içerisine alıyoruz.

//3 Burada seçili satırdaki id sütununa karşılık gelen değeri int türünde id adlı bir değişkene atadık.

dataGridView1.CurrentRow.Index :DataGridView da seçili satırın index numarasını verir.

//4 Gelen sonucu mesaj olarak gösterdik

Sonuç:

datagridvewda-secili-satirin-sutun-degerini-almak-2

datagridvewda-secili-satirin-sutun-degerini-almak-2

Umarım yararlı olmuştur. İyi Çalışmalar…