首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

两个或多个DataSet或DataTable相加解决办法

2013-07-04 
两个或多个DataSet或DataTable相加DataSet或DataTable 的数据结构都是一样。如下:DataSet1的数据:产品日期

两个或多个DataSet或DataTable相加
DataSet或DataTable 的数据结构都是一样。如下:
DataSet1的数据:
产品   日期    数量  金额
产品1   01      12    100
产品2   01      2     230

DataSet2的数据:
产品   日期    数量  金额
产品1   01      120   2100
产品2   01      42    2230

想得到的数据:
产品   日期    数量  金额
产品1   01      132    2200
产品2   01      44     2460
[解决办法]
帅哥督察提供

            var linq = from tb1 in dt1.AsEnumerable()
                       join tb2 in dt2.AsEnumerable()
                       on new { id = tb1.Field<string>("ProductID"), time = tb1.Field<string>("Time") } equals new { id = tb2.Field<string>("ProductID"), time = tb2.Field<string>("Time") } into des
                       from tb2 in des.DefaultIfEmpty()
                       select new { product = tb1.Field<string>("ProductID"), number = tb1.Field<int>("Number") + (tb2 == null ? 0 : tb2.Field<int>("Number")), money = tb1.Field<decimal>("Money") + (tb2 == null ? 0 : tb2.Field<decimal>("Money")) };
            foreach (var l in linq)


                Response.Write(string.Format("{0} {1} {2} <br/>", l.product, l.number, l.money));

热点排行