C# 在数据网格视图中查找重复值
本文关键字:查找 视图 数据 数据网 网格 | 更新日期: 2023-09-27 18:32:03
对我的 c sharp 项目进行一些用户界面限制。使用 Visual Studio 2008 和 C#.net。
所以我有一点代码,它是一个嵌套的 for 循环,应该贯穿列行并检查是否有重复项。
考虑到这一点,我应该将文本更改为可以打印出来的数组,因为可以有多个重复项。
简单地说,有一个部分联盟,递增一个是独一无二的。 用户希望改变联赛部分,有些上升,有些下降。
这是我到目前为止所拥有的。
public void CheckForDuplicate()
{
DataGridViewRowCollection coll = ParetoGrid.Rows;
DataGridViewRowCollection colls = ParetoGrid.Rows;
foreach (DataGridViewRow item in coll)
{
foreach (DataGridViewRow items in colls)
{
if (items.Cells[5].Value == item.Cells[5].Value)
{
if(items.Cells[2].Value != item.Cells[2].Value)
{
txtDupe.Text = items.Cells[2].Value.ToString();
this.Refresh();
dupi = false;
}
}
}
}
}
什么都没有发生,什么都没有,似乎总是假的。 调试没有捕获任何内容的一些奇怪原因。所以我在徘徊,如果有一个愚蠢的班轮我错过了,或者是否有更好的方法可以做到这一点?
非常感谢!
在 LINQ 中选择"不同"应该执行此操作。使用方法语法,如下所示:
public bool allUniqueRows()
{
var distinctCount = from r in ParetoGrid.Rows
select r.whateverElement.Distinct().Count();
if(distinctCount == ParetoGrid.Rows.Count())
{
return true;
}
else
{
return false;
}
}