今天遇到個問題,需要根據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);