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

6 篇文章 0 订阅
本文介绍如何在C#中使用DataTable进行数据行的合并计算,以实现报表汇总。通过克隆DataTable,遍历原表的每一行,根据特定字段(如药品代码)查找克隆表中是否存在相同数据,若存在则累加金额,否则将原行导入克隆表,最终得到合并统计后的数据。
摘要由CSDN通过智能技术生成

近期开发要做一个报表汇总,DataTable中有N多行数据,其中一部分数据只是数量和金额不一样,需要进行合并统计,但是又只想在前台改动,本人方法如下,如果哪位同志有更好的方法,请共享出来,呵呵

//克隆要统计的表结构

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);//将当前统计表的数据行作为新行,加到克隆表中

                     }

                  }

 

这样的话克隆表中的数据就是我们统计后的数据了。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值