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++;
               }
        }
  }
}
上一篇:简述linux下的statm


下一篇:C# DataTable 和List之间相互转换的方法