DataGridView にいくつかのデータを表示する C# で作業していますが、重複したキーを追加できないようにしたいと思います。1つは「キー」と呼ばれ、もう1つは「値」と呼ばれます。私が欲しいのは、ユーザーが 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