110,537
社区成员
发帖
与我相关
我的任务
分享
DataTable dt = new DataTable();
dt.Columns.Add("批号", typeof(string));
dt.Columns.Add("数量", typeof(int));
DataRow dr1 = dt.NewRow();
dr1["批号"] = "0001";
dr1["数量"] = 100;
dt.Rows.Add(dr1);
DataRow dr2 = dt.NewRow();
dr2["批号"] = "0002";
dr2["数量"] = 200;
dt.Rows.Add(dr2);
DataRow dr3 = dt.NewRow();
dr3["批号"] = "0001";
dr3["数量"] = 300;
dt.Rows.Add(dr3);
DataRow dr4 = dt.NewRow();
dr4["批号"] = "0002";
dr4["数量"] = 400;
dt.Rows.Add(dr4);
DataRow dr5 = dt.NewRow();
dr5["批号"] = "0003";
dr5["数量"] = 500;
dt.Rows.Add(dr5);
var sumObject = dt.Compute("Sum(数量)", "");
var vardt = from p in dt.AsEnumerable()
group p by p.ItemArray[0] into g
let sum = g.Sum(x => int.Parse(x.ItemArray[1].ToString()))
select new
{
批号 = g.Key,
Sum = sum
};
foreach (var outputvar in vardt)
{
MessageBox.Show(outputvar.批号 + " " + outputvar.Sum);
}
System.Data.DataTable dataTable1 = new System.Data.DataTable("BlogUser");
System.Data.DataRow dr;
dataTable1.Columns.Add(new System.Data.DataColumn("批号", typeof(System.String)));
dataTable1.Columns.Add(new System.Data.DataColumn("数量", typeof(System.Int32)));
dataTable1.Rows.Add(new Object[] { "0001", 100 });
dataTable1.Rows.Add(new Object[] { "0002", 200 });
dataTable1.Rows.Add(new Object[] { "0001", 300 });
dataTable1.Rows.Add(new Object[] { "0002", 400 });
dataTable1.Rows.Add(new Object[] { "0003", 500 });
System.Data.DataView dv = dataTable1.DefaultView;
System.Data.DataTable dataTable2 = dv.ToTable(true, "批号");
String s = "";
for (int i = 0; i < dataTable2.Rows.Count; i++)
{
String type = dataTable2.Rows[i][0].ToString();
s += type + "=" + dataTable1.Compute("Sum(数量)", "批号='" + type + "'").ToString() + Environment.NewLine;
}
MessageBox.Show(s);