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