datagridview中的按钮单击事件

时间:2011-09-02 16:17:21

标签: button datagridview

我在datagridview中有一个按钮单元。当单击该按钮时,应该可以看到另一个datagridview。对于按钮列中的每个按钮单击,新datagridview中的数据应该是不同的。我不知道如何实现按钮点击每行不同的事件。请帮我查看示例代码。

2 个答案:

答案 0 :(得分:7)

您无法为DataGridViewButtonColumn中的按钮单元格实施按钮点击事件。相反,您使用DataGridView的CellClicked事件,并确定是否为DataGridViewButtonColumn中的单元格触发了事件。使用事件的DataGridViewCellEventArgs.RowIndex属性来查找单击的行。

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);
    }
}

DataGridViewButtonColumn class上的MSDN文档有一个更完整的示例。

答案 1 :(得分:1)

使用 dataGridView1_CellContentClick 代替 dataGridView1_CellClick

private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{

    if (e.ColumnIndex == 8) //make sure button index here
    {
          //write your code here
    }

}