ANASAYFA | BLOG | SORU CEVAP | REFERANSLARIM | DOWNLOAD | HAKKIMDA | İLETİŞİM | ARAMA
C# DATAGRİDVİEW BUTON EKLEME

c-sharp-datagridview-buton-ekleme

Datagridview de her satıra isterseniz normal buton isterseniz de resimli buton ekleyerek, bunlara tıklanıldığında ilgili satır için istediğiniz işlemi yapabilirsiniz. Butonları arkaplanda kod ile oluşturarak datagridview e eklerken bunlara tıklanıldığında ne işlem yapılacağını belirtmek için de datagridview in cellClick event ını kullanacağız. Bu butonların yine bütün özelliklerine (renk, boyut, text...) de müdahale edebileceğimizi göreceksiniz....

FK-gizle

Öncelikle bir form uygulaması açıp kullanacağımız dategridview i ekliyoruz, Datagridview1 şeklinde oluşan bu dategrid in adını değiştirmezseniz aşağıdaki kodlar direk kopyala yapıştır yaptığınızda sizde de çalışacaktır, birebir test edebilirsiniz. Şuan için oluşturulan form aşağıdakine benzer olacaktır

c-sharp-datagridview-buton-ekleme

 

Şimdi normal bir buton oluşturarak işe başlayalım

 
/*** NORMAL BUTON EKLEME ***/
DataGridViewButtonColumn dgvBtn = new DataGridViewButtonColumn();
//Kolon Başlığı
dgvBtn.HeaderText = "Detay";
// Butonun Text
dgvBtn.Text = "Detay Getir";
// Butonda Text Kullanılmasını aktifleştirme
dgvBtn.UseColumnTextForButtonValue = true;
// Buton çerçeve rengi
dgvBtn.DefaultCellStyle.BackColor = Color.Blue;
// Buton seçiliykenki çerçeve rengi
dgvBtn.DefaultCellStyle.SelectionBackColor = Color.Red;
// Butonun genişiliği
dgvBtn.Width = 70;
// DataGridView e ekleme
dataGridView1.Columns.Add(dgvBtn);
 
 
 
Şuan için Normal Bir buton oluşturduk ve bunu datagridview e ekledik. Şimdi birde resimli buton yapmak isteyen arkadaşlar için resimli buton oluşturalım
 
 
/*** RESİMLİ BUTON EKLEME ***/
DataGridViewImageColumn img = new DataGridViewImageColumn();
// Resim Yolu
img.Image = Image.FromFile("search.png");
// Kolon Adı
img.HeaderText = "Detay";
// Kolon(Resim) genişliği
img.Width = 50;
// DataGridView e ekleme
dataGridView1.Columns.Add(img);
 
 

c-sharp-datagridview-buton-ekleme


Artık görsel resimli butonumuzda hazır. Şimdi ise sıra bu butonlara basıldığında ne işlem yapılacağının ayarlanmasına geldi. Datagridview1 seçili iken sağ taraftan event sekmesinden cellClick olayını seçip içerisini ayarlamamız gerekiyor. Datagrig e her tıklandığında burası tetikleneceğinden Biz sadece buton olan kolonlara tıklandığında çalışmasını istediğimiz için tıklanan kolonun index ini karşılaştırarak buna göre işlem yapmamız mantıklı olacaktır. 
 
 
 
 
 
Datagridview e verileri muhtemelen SQL ile aktarıyor olacağız ama Ben burda örnek olması açısından statik bir tablo oluşturup datasource olarak bunu göstererek datagridview de veri çıkmasını ayarlıyorum
 
// Diğer veriler için oluşturulan tablo
// Bunun yerine SQL den direk de çekebilirsiniz
DataTable tbl = new DataTable();
tbl.Columns.Add("AD");
tbl.Columns.Add("Yas");
tbl.Rows.Add("Emre""22");
tbl.Rows.Add("Yunus""51");
tbl.Rows.Add("Fatih""25");
dataGridView1.DataSource = tbl;
 

 

Verilerimizi de oluşturduktan sonra CellClick fonksiyonunu yazmaya geçebiliriz

private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
    if (e.ColumnIndex == 0)
    {// hangi kolona göre işlem yapacaksak onun index i ile karşılaştırıyoruz
        MessageBox.Show("Ad: " + dataGridView1.CurrentRow.Cells[2].Value.ToString()
            "\nYas: " + dataGridView1.CurrentRow.Cells[3].Value.ToString(), "Butondan Detay");
    }
    else if (e.ColumnIndex == 1)
    {// hangi kolona göre işlem yapacaksak onun index i ile karşılaştırıyoruz
        MessageBox.Show("Ad: " + dataGridView1.CurrentRow.Cells[2].Value.ToString()
            "\nYas: " + dataGridView1.CurrentRow.Cells[3].Value.ToString(), "Resimliden Detay");
    }
}

Artık programımızı çalıştırdığımızda oluşturulan butonlar çıkacak ve butonlara tıklandığında da belirtilen işlemleri gerçekleştirecektir. Şuan için butona tıklandığında mesaj vermesini ve hangisinden tıkladıysak mesaj kutusunun başlığının ona göre olmasını ayarladık. Butonlara tıkladığımızda aşağıdaki gibi çalışacaktır

c-sharp-datagridview-buton-ekleme

c-sharp-datagridview-buton-ekleme

 

 




Diğer Yazılarımdan Seçmeler...