sai sushma
sai sushma

Reputation: 51

button click event in datagridview

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

Answers (2)

Ramgy Borja
Ramgy Borja

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

Jay Riggs
Jay Riggs

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

Related Questions