【學習筆記】DataTable根據多列分組

今天遇到個問題,需要根據DataTable的兩列來分組彙總數量,上網找了下資料,很快就找到大神已經幫忙解決了:-D,在此記下,以便查看~~

            DataTable dataTable1 = new DataTable("BlogUser");
            dataTable1.Columns.Add(new DataColumn("批號", typeof(String)));
            dataTable1.Columns.Add(new DataColumn("類型", typeof(String)));
            dataTable1.Columns.Add(new DataColumn("數量", typeof(Int32)));
            dataTable1.Rows.Add(new Object[] { "0001", "A", 100 });
            dataTable1.Rows.Add(new Object[] { "0002", "B", 200 });
            dataTable1.Rows.Add(new Object[] { "0001", "B", 300 });
            dataTable1.Rows.Add(new Object[] { "0002", "B", 400 });
            dataTable1.Rows.Add(new Object[] { "0003", "A", 500 });
            DataView dv = dataTable1.DefaultView;
            DataTable dataTable2 = dv.ToTable(true, new string[] { "批號", "類型" });
            String s = "";
            for (int i = 0; i < dataTable2.Rows.Count; i++)
            {
                String pc = dataTable2.Rows[i][0].ToString(),
                    type = dataTable2.Rows[i][1].ToString();
                s += pc + "," + type + "=" + dataTable1.Compute("Sum(數量)", "批號='" + pc
                    + "' AND 類型='" + type + "'").ToString() + Environment.NewLine;
            }
            Console.WriteLine(s);

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章