日期:2014-05-17  浏览次数:20474 次

求datatable中 这种合并行的方法
gz A B C D
a 1 0 0 0
b 0 2 0 0
c 0 0 3 0 ==========》
d 0 0 0 4
a 0 5 0 0
b 0 0 6 0


gz A B C D
a 1 5 0 0
b 0 2 6 0
c 0 0 3 0
d 0 0 0 4


将gz列中同名的行合并,A B C  D为列,而且是动态的,可能是A B C D E 。。。。等等 合并时,数值可以是相加的

------解决方案--------------------
public static DataTable GetTableMerge(DataTable dt)
        {
            if (dt == null 
------解决方案--------------------
 dt.Rows.Count == 0)
            {
                return dt;
            }
            else
            {
                ArrayList Al = new ArrayList();

                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    String s = dt.Rows[i][0].ToString();
                    if (!Al.Contains(s))
                    {
                        Al.Add(s);
                    }
                }

                DataTable result = new DataTable();
                result = dt.Clone();
                //初始化新表
                for (int i = 0; i < Al.Count; i++)
                {
                    DataRow drtmp = result.NewRow();
                    drtm