【发布时间】:2021-06-11 20:34:57
【问题描述】:
在 DataGridView 中,我们可以处理行级别的按钮文本更改吗?只有单击的按钮必须将文本更改为“Clicked”,其余行上的其他按钮保持默认文本。
我添加了一个按钮实例并将其添加到网格中,如下所示:
var button = new DataGridViewButtonColumn();
{
button.Name = "statusButton";
button.HeaderText = "Button";
button.Text = "Click to register";
button.UseColumnTextForButtonValue = true;
this.dataGridView1.Columns.Add(button);
}
但是当我在 private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) 事件中处理名称更改时,所有按钮都将文本更改为“已单击”。
我是否需要为n 的行数创建n 数量的按钮?
【问题讨论】:
-
可以分享
dataGridView1_CellContentClick事件的代码吗? -
见DataGridViewButtonColumn.UseColumnTextForButtonValue的备注部分。使用
.UseColumnTextForButtonValue = true,您指定 Button.Text 对于列中的所有按钮都是相同的。 -
@jimi,我的按钮文本按预期显示值,我也可以更改其他列的值。只是按钮值无法每行更改。如果更改它会更改网格的所有行。我怀疑也许我只有一个按钮对象并且我操纵它。我需要为网格中的每一行添加新按钮吗? - 这是我的担心
标签: c# .net winforms events datagridview