C# 如何在datagridview中找到重复相同的值
我有一个datagridview。在我的datagridview中有四行三列。输入一行后。该行的一列值在第二行的列值中重复(或)相同。因此,如何找出哪个值是重复的,以及哪个行。如果网格数据主要是文本,则维护一个C# 如何在datagridview中找到重复相同的值,c#,C#,我有一个datagridview。在我的datagridview中有四行三列。输入一行后。该行的一列值在第二行的列值中重复(或)相同。因此,如何找出哪个值是重复的,以及哪个行。如果网格数据主要是文本,则维护一个列表,该列表保存插入到DataGridView中的所有值 因此,每次在单元格中输入数据时(有一些事件可以处理,如CellEndEdit或CellLeave),在添加数据之前,都要检查数据是否在字符串列表中 如果是,则发现网格中已包含一个值 编辑 以下是一些示例代码: private voi
列表,该列表保存插入到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时,您将得到消息框
,表明网格中已经有一个测试,这可能是错误的。假设您只在网格中输入文本是否安全?(即没有用于从列表中选择值的组合框编辑器或要检查的复选框等)假设您只在网格中输入文本是否安全?(即没有用于从列表中选择值的组合框编辑器或要检查的复选框等)