重复记录

时间:2011-07-29 09:23:43

标签: c# listbox

我有关于重复记录的问题。我有一个名为tbl_Kisiler的表,如下所示。

 ID     Adi
 ---   ----
 1     harun
 2     ahmet
 3     melis
 2     ali 

我有一个类似于上表的ListBox。我的问题是:我想在C#中移动一个新的ListBox内部重复的ID记录。我该怎么办?


ID,      Adi,     
----      ----      
1        harun
3        melis
2        ali

干杯,

2 个答案:

答案 0 :(得分:0)

您可以在将数据绑定到ListBox

之前从DataTable中删除重复的项目

请查看以下链接以删除重复的项目

How to imporove the performance of my method created to remove duplicates from a DataView?

答案 1 :(得分:0)

您的意思是要创建一个包含重复ID的记录的新列表框,即

ID    Adi
---  ----
2    harun
2    ali

如果您想要这样做,可以使用linq选择重复项

var duplicateIDs = from r in records
                   group r by r.id into g
                   where g.Count() > 1
                   select g.Key;

var duplicateRecords = from r in records
                       where duplicateIDs.Contains(r.id)
                       select r;

var nonDuplicateRecords = from r in records
                          where !duplicateIDs.Contains(r.id)
                          select r;

listBox2.DataSource = duplicateRecords.ToList();
listBox1.DataSource = nonDuplicateRecords.ToList();

如果我误解了你的问题,请道歉。我很确定linq查询可以改进,希望有人可以建议更流畅的方式。