Reputation: 51
I am having a button cell in datagridview.When that button is clicked,another datagridview should be visible .For every button click in the button column,the data in new datagridview should be differed.I dont know how to implement the button click event which differs for every row.Please help me with the sample code.
Upvotes: 5
Views: 33594
Reputation: 2458
use dataGridView1_CellContentClick instead of dataGridView1_CellClick
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == 8) //make sure button index here
{
//write your code here
}
}
Upvotes: 4
Reputation: 53595
You can't implement a button clicked event for button cells in a DataGridViewButtonColumn
. Instead, you use the DataGridView's CellClicked
event and determine if the event fired for a cell in your DataGridViewButtonColumn
. Use the event's DataGridViewCellEventArgs.RowIndex
property to find out which row was clicked.
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) {
// Ignore clicks that are not in our
if (e.ColumnIndex == dataGridView1.Columns["MyButtonColumn"].Index && e.RowIndex >= 0) {
Console.WriteLine("Button on row {0} clicked", e.RowIndex);
}
}
The MSDN documentation on the DataGridViewButtonColumn class has a more complete example.
Upvotes: 7