C# DataTable中相同的数据行合并计算
2010-05-17 16:30 David_Yang 阅读(1369) 评论(1) 编辑 收藏 举报
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
//克隆要统计的表结构
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);//将当前统计表的数据行作为新行,加到克隆表中
}
}