我正在使用 C# 在 DataGridView 中显示一些数据,我希望它不允许您添加重复的键。现在,我的 DataGridview 非常简单,只有 2 列。一个称为“Key”,另一个称为“Value”。我想要的是,当用户编辑或向 DataGridView 添加新条目时,它会检查是否已经存在重复项并取消新行的编辑/创建。这是我当前的代码:
private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
foreach (DataGridViewRow row in dataGridView1.Rows)
{
if (row.Cells[0].Value.Equals(dataGridView1.Rows[e.RowIndex].Cells[0].Value))
{
dataGridView1.Rows.Remove(dataGridView1.Rows[e.RowIndex]);
break;
}
}
refresh();
}
它根本不起作用......有人可以告诉我我应该怎么做吗?..谢谢!
编辑:我在 dataGridView1.Rows.Remove() 调用中也遇到了这个错误-
Operation is not valid because it results in a reentrant call to the SetCurrentCellAddressCore function.
编辑:
DataGridView 看起来像这样
Key | Value
----------------
blah | something
somekey | somevalue