代码改变世界

C# DataTable中相同的数据行合并计算

2010-05-17 16:30  David_Yang  阅读(1369)  评论(1编辑  收藏  举报

代码
//克隆要统计的表结构

DataTable dtYpxx
= dsMain.Tables[0].Clone();

dtYpxx.TableName
= "dtYpxx";

//遍历要统计的表的行

foreach (DataRow dr in dsMain.Tables[0].Rows)

{

DataRow[] drs
= dtYpxx.Select("药品代码='" + dr["药品代码"].ToString() + "'");//在克隆表中查询和要统计表药品代码系统的数据,这里第一次进入肯定是查不到的,因为此时克隆表中的没有数据

//如果查出来数据的话,则说明要统计表中的数据在克隆表中存在了,则对对应的数据进行统计

if (drs.Length > 0)

{

drs[
0]["金额"] = Convert.ToDecimal(drs[0]["金额"]) + Convert.ToDecimal(dr["金额"]);//将金额累加

}

else

{

dtYpxx.ImportRow(dr);
//将当前统计表的数据行作为新行,加到克隆表中

}

}