datatable重复行合并

来源:互联网 发布:解码软件下载 编辑:程序博客网 时间:2024/05/10 21:19

之前在chartcontrol设置数据源时,如果datatable中含有相同的行时,chartcontrol是无法正常显示的,这样就需要学习datatable的合并。虽然后来被告知使用sql语句直接操作数据库更方便些,但还是学习下datatable的合并方法。

                DataTable dt = (DataTable)data;
                dt.Columns.Remove("检查类型");
                DataTable dt1 = new DataTable();
                dt1 = dt.Clone();
                DataRow temp = dt.Rows[0];
                int sum=0;
                int i = 0;
                foreach (DataRow dr in dt.Rows)
                {
                if (dr["报告医师"] == temp["报告医师"])
                {
                    sum += (int)dr["数量"];
                    temp["数量"] = sum;
                    i++;
                    if (i == dt.Rows.Count)
                    { dt1.Rows.Add(temp.ItemArray); }
                }
                else
                {
                    dt1.Rows.Add(temp.ItemArray);
                    temp["报告医师"] = dr["报告医师"];
                    sum = (int)dr["数量"];
                    temp["数量"] = sum;
                    i++;
                    if (i == dt.Rows.Count)
                    { dt1.Rows.Add(temp.ItemArray); }
                }
                 }

这个datatable是两列的,第一列是报告医师,第二列是数量。根据第一列进行合并。





0 0
原创粉丝点击