Net Core教程

C# DataTable合并重复行,并使部分列值相加

本文主要是介绍C# DataTable合并重复行,并使部分列值相加,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

C# DataTable合并重复行,并使部分列值相加

在处理C#DataTable时,合并重复行,并相加相关值,例如金额等,代码如下:

DataTable detail_dt = (DataTable)DrugDetail.DataSource;
//绑定之后判断是否有重复数据,重复数据进行合并
if (detail_dt != null){
  for (int i = 0; i < detail_dt.Rows.Count; i++){
  //两层循环判断表格内是否有数据重复,如果有则合并加上数量即可
       for (int j = i+1; j < detail_dt.Rows.Count;) {
          if (detail_dt.Rows[i]["drug_code"].ToString() == detail_dt.Rows[j]["drug_code"].ToString()&& detail_dt.Rows[i]["serial"].ToString() == detail_dt.Rows[j]["serial"].ToString()) {
                detail_dt.Rows[i["amount"]=Convert.ToDouble(detail_dt.Rows[i]["amount"]) +Convert.ToDouble(detail_dt.Rows[j]["amount"]);
                detail_dt.Rows[j].Delete();
             }
          else {//这里是若没有数据重复,则取下一行继续比较,若重复了则因为删除了一行,不需要执行j++进行下一行取值。
                j++;
               }
        }
  }
}
这篇关于C# DataTable合并重复行,并使部分列值相加的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!