DataGridView,如何跳过重复项
本文关键字:何跳过 DataGridView | 更新日期: 2023-09-27 17:58:34
我有一个DataGridView,我试图检查行是否已经存在,如果已经存在,我想跳过外部"foreach"语句的循环。
我想到了这样的东西,但也许有一些更优化的方法可以做到这一点。
(此功能是删除当前行,并插入新行,以避免重复)
(outer foreach)
for (int i = 0; i < dataGridViewFarm.RowCount; i++)
{
if (villageParams[3] == dataGridViewFarm.Rows[i].Cells[3].Value.ToString())
{
dataGridViewFarm.Rows.Remove(dataGridViewFarm.Rows[i]);
}
}
您可以使用Linq to对象从dataGridView
的源中删除重复的行,并将新对象设置为新的DataSource
方法1:示例:假设cell[3]
是mycell3
var noDuplicationList = myList.GroupBy(x => x.mycell3)
.Select(g => g.First())
.ToList();
方法2:在MoreLinq项目中使用DistinctBy()
安装更多软件包
var noDuplicationList = myList.DistinctBy( x => x.mycell3).ToList();
它的接缝就像使用Windows窗体一样。添加此标签可能会有所帮助,以便获得答案。
永远不会少。这些行是如何创建的?用户输入还是形成集合?在集合的情况下:在将添加到dataGridView之前,我只会检查重复项。在用户输入的情况下:在创建行之前还要检查重复项。