当前位置: 代码迷 >> ASP.NET >> 问个DataTable处理的有关问题
  详细解决方案

问个DataTable处理的有关问题

热度:3671   发布时间:2013-02-25 00:00:00.0
问个DataTable处理的问题!
比如如下DataTable:

DW DADUI PERSON

1 2 john

1 3 jack

1 3 tom

1 2 jordan

2 3 dennis


要求实现如下处理:
如果DW与DADUI均相同,则仅保留一列。上表处理后如下:

DW DADUI PERSON

1 2 john

1 3 jack

2 3 dennis

请问上述如何实现?

------解决方案--------------------------------------------------------
C# code
void Main(){    DataTable dt = new DataTable();      dt.Columns.Add("DW",typeof(int));      dt.Columns.Add("DADUI",typeof(int));      dt.Columns.Add("PERSON");      dt.Rows.Add(1,2,"john");    dt.Rows.Add(1,3,"jack");    dt.Rows.Add(1,3,"tom");    dt.Rows.Add(1,2,"jordan");    dt.Rows.Add(2,3,"dennis");    var result=from d in dt.AsEnumerable()                group d by new {DW=d.Field<int>("DW"),DADUI=d.Field<int>("DADUI")} into g                select new                 {                  DW=g.Key.DW,                  DADUI=g.Key.DADUI,                  PERSON=g.FirstOrDefault().Field<string>("PERSON")                };    DataTable dtNew=dt.Clone();    result.ToList().ForEach(d=>dtNew.Rows.Add(d.DW,d.DADUI,d.PERSON));     }
  相关解决方案