Datagridview Üzerine Buton Ekleme

DataGridView Üzerine Buton Ekleme

Giriş

DataGridView, .NET Framework’te veri görüntüleme ve düzenleme için kullanılan güçlü bir kontrolüdür. Veri kaynağındaki verileri tablo biçiminde görüntüler ve kullanıcıların verileri görüntülemesine, düzenlemesine ve silmesine olanak tanır. DataGridView’e özel işlevler eklemek için özelleştirme gerekebilir ve bu özelleştirmelerden biri de DataGridView’e buton eklemektir.

Buton Ekleme Yöntemleri

DataGridView’e buton eklemenin iki ana yöntemi vardır:

  1. DataGridViewButtonColumn Sütunu Ekleme: Bu yöntem, her satır için bir buton içeren özel bir sütun eklemenizi sağlar.
  2. Hücrelere Manuel Olarak Buton Ekleme: Bu yöntem, belirli hücrelere butonlar eklemenizi sağlar, ancak bu yöntem daha karmaşıktır ve daha fazla kodlama gerektirir.

DataGridViewButtonColumn Sütunu Ekleme

DataGridViewButtonColumn sütunu eklemek için şu adımları izleyin:

  1. DataGridView’e sağ tıklayın ve “Sütun Ekle”yi seçin.
  2. “Sütun Türü” açılır menüsünden “DataGridViewButtonColumn” öğesini seçin.
  3. Sütuna bir ad verin ve “Tamam” düğmesine tıklayın.

Bu işlem, her satır için bir buton içeren yeni bir sütun ekleyecektir. Butonun metni, “Text” özelliği kullanılarak ayarlanabilir. Butona tıklandığında tetiklenecek olay işleyicisi, “CellContentClick” olayı kullanılarak eklenebilir.

Hücrelere Manuel Olarak Buton Ekleme

Hücrelere manuel olarak buton eklemek için şu adımları izleyin:

  1. DataGridView’in “CellClick” olayını işleyin.
  2. Olay işleyicisinde, tıklanan hücrenin konumunu alın.
  3. Bir Button nesnesi oluşturun ve hücrenin konumuna ayarlayın.
  4. Butona bir metin ve olay işleyicisi ekleyin.

Bu yöntem daha karmaşıktır ve daha fazla kodlama gerektirir, ancak belirli hücrelere butonlar eklemenize olanak tanır.

Örnek Kod

DataGridViewButtonColumn Sütunu Ekleme:

“`csharp
// Yeni bir DataGridViewButtonColumn sütunu ekler
DataGridViewButtonColumn buttonColumn = new DataGridViewButtonColumn();
buttonColumn.Name = “ButtonColumn”;
buttonColumn.Text = “Buton”;
dataGridView1.Columns.Add(buttonColumn);

// Butona tıklandığında tetiklenecek olay işleyicisini ekler
dataGridView1.CellContentClick += DataGridView1_CellContentClick;

private void DataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
// Tıklanan hücre bir DataGridViewButtonColumn hücresiyse
if (e.ColumnIndex == dataGridView1.Columns[“ButtonColumn”].Index)
{
// Butona tıklandığında bir mesaj kutusu gösterir
MessageBox.Show(“Butona tıklandı!”);
}
}
“`

Hücrelere Manuel Olarak Buton Ekleme:

“`csharp
// DataGridView’in CellClick olayını işler
dataGridView1.CellClick += DataGridView1_CellClick;

private void DataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
// Tıklanan hücrenin konumunu alır
int rowIndex = e.RowIndex;
int columnIndex = e.ColumnIndex;

// Bir Button nesnesi oluşturur ve hücrenin konumuna ayarlar
Button button = new Button();
button.Location = new Point(dataGridView1.GetCellDisplayRectangle(columnIndex, rowIndex).X, dataGridView1.GetCellDisplayRectangle(columnIndex, rowIndex).Y);
button.Size = new Size(100, 25);
button.Text = "Buton";

// Butona bir olay işleyicisi ekler
button.Click += Button_Click;

// Butonu DataGridView'e ekler
dataGridView1.Controls.Add(button);

}

private void Button_Click(object sender, EventArgs e)
{
// Butona tıklandığında bir mesaj kutusu gösterir
MessageBox.Show(“Butona tıklandı!”);
}
“`

Faydalı Kaynaklar


Yayımlandı

kategorisi