我想在datagridview上找到重复的条目之一。之后,我需要向用户发送电子邮件,以便为这些重复的号码安排收集。我们在列上有多少重复的数字并不重要,所以我不想计算它们,我只需要在列上知道所有那些重复的数字..我已经对电子邮件进行了排序,但我无法弄清楚我怎么能够轻松找到重复的条目。
在这里附加了一个屏幕截图,例如在这个屏幕截图上我已经有四个0的列,它需要告诉我“我在sending_location上有重复的0”。
Datagridview从MS Access数据源获取信息。
我正在使用visual studio。
非常感谢! 查理
答案 0 :(得分:0)
如果datagridview绑定到数据源,那么在查询级别或数据绑定事件期间查找是不容易的。
答案 1 :(得分:0)
如果您使用的是EntityFramework
//resultset is the result from the query that return all data
var duplicates = resultset
.GroupBy(i => i.ColumnName)
.Where(x => x.Count() > 1)
.Select();
如果使用数据表
DataTable dt = new DataTable();
dt.Columns.Add("Id", typeof(int));
dt.Columns.Add("Name", typeof(string));
dt.Columns.Add("City", typeof(string));
//populate table
dt.Rows.Add(1, "David", "New York");
dt.Rows.Add(2, "Emma","Albany");
dt.Rows.Add(3, "Michael", "Chicago");
dt.Rows.Add(4, "Jennifer", "Chicago");
dt.Rows.Add(5, "Steve", "Albany");
var duplicates = dt.AsEnumerable()
.GroupBy(r => r.Field<string>("City"))
.Select(g => g.First())
.CopyToDataTable();
重复项将具有唯一的重复行