How to add a button to a column in the DataGridView
Assuming you are in Windows Forms, you need to add a DataGridViewButtonColumn
to your DataGridView
- Not directly to the DataTable
.
This should occur somewhere after you bind the DataTable
to the DataGridView
.
Something like this should work:
DataGridViewButtonColumn uninstallButtonColumn = new DataGridViewButtonColumn();
uninstallButtonColumn.Name = "uninstall_column";
uninstallButtonColumn.Text = "Uninstall";
int columnIndex = 2;
if (dataGridViewSoftware.Columns["uninstall_column"] == null)
{
dataGridViewSoftware.Columns.Insert(columnIndex, uninstallButtonColumn);
}
Of course you will have to handle the CellClick
event of the grid to do anything with the button.
Add this somewhere in your DataGridView Initialization code
dataGridViewSoftware.CellClick += dataGridViewSoftware_CellClick;
Then create the handler:
private void dataGridViewSoftware_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == dataGridViewSoftware.Columns["uninstall_column"].Index)
{
//Do something with your button.
}
}
Make it simple.
DataGridViewButtonColumn button = new DataGridViewButtonColumn();
{
button.Name = "button";
button.HeaderText = "Button";
button.Text = "Button";
button.UseColumnTextForButtonValue = true; //dont forget this line
this.dataGridView1.Columns.Add(button);
}