C# 如何在datagridview中找到重复相同的值

C# 如何在datagridview中找到重复相同的值,c#,C#,我有一个datagridview。在我的datagridview中有四行三列。输入一行后。该行的一列值在第二行的列值中重复(或)相同。因此,如何找出哪个值是重复的,以及哪个行。如果网格数据主要是文本,则维护一个列表,该列表保存插入到DataGridView中的所有值 因此,每次在单元格中输入数据时(有一些事件可以处理,如CellEndEdit或CellLeave),在添加数据之前,都要检查数据是否在字符串列表中 如果是,则发现网格中已包含一个值 编辑 以下是一些示例代码: private voi

我有一个datagridview。在我的datagridview中有四行三列。输入一行后。该行的一列值在第二行的列值中重复(或)相同。因此,如何找出哪个值是重复的,以及哪个行。

如果网格数据主要是文本,则维护一个
列表,该列表保存插入到DataGridView中的所有值

因此,每次在单元格中输入数据时(有一些事件可以处理,如
CellEndEdit
CellLeave
),在添加数据之前,都要检查数据是否在字符串列表中

如果是,则发现网格中已包含一个值

编辑 以下是一些示例代码:

private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
   string cellVal = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString();
   if (String.IsNullOrEmpty(listGridVals.Find(delegate(string s) { return s == cellVal; })))
       listGridVals.Add(cellVal);
   else
       MessageBox.Show("Value: " + cellVal + " already in the grid!");

}
注意

这个例程非常基本,它只检查输入到网格中的值是否正确 已在
列表中

但是,假设您已经在一个单元格中进行了值测试,并且已经在
列表中


删除该值并输入test1时会发生什么?好的,test仍将在
列表中
下一次在另一个单元格中输入test时,您将得到
消息框
,表明网格中已经有一个测试,这可能是错误的。

如果您的网格数据主要是文本,则维护一个
列表,该列表保存在DataGridView中插入的所有值

因此,每次在单元格中输入数据时(有一些事件可以处理,如
CellEndEdit
CellLeave
),在添加数据之前,都要检查数据是否在字符串列表中

如果是,则发现网格中已包含一个值

编辑 以下是一些示例代码:

private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
   string cellVal = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString();
   if (String.IsNullOrEmpty(listGridVals.Find(delegate(string s) { return s == cellVal; })))
       listGridVals.Add(cellVal);
   else
       MessageBox.Show("Value: " + cellVal + " already in the grid!");

}
注意

这个例程非常基本,它只检查输入到网格中的值是否正确 已在
列表中

但是,假设您已经在一个单元格中进行了值测试,并且已经在
列表中


删除该值并输入test1时会发生什么?好的,test仍将在
列表中
下一次在另一个单元格中输入test时,您将得到
消息框
,表明网格中已经有一个测试,这可能是错误的。

假设您只在网格中输入文本是否安全?(即没有用于从列表中选择值的组合框编辑器或要检查的复选框等)假设您只在网格中输入文本是否安全?(即没有用于从列表中选择值的组合框编辑器或要检查的复选框等)