【发布时间】:2013-04-04 15:21:15
【问题描述】:
我正在使用 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
【问题讨论】:
-
我在避免重复时所做的是:我让用户输入她想要的任何内容。然后,当 Datagrid 失去焦点或单击验证按钮时,我会删除重复的行。我做了一个小程序来删除重复的行,但它会检查行中所有单元格中的值:programacionamartillazos.blogspot.com/2012/03/…
标签: c# datagridview rows multiple-columns cells