110,561
社区成员
发帖
与我相关
我的任务
分享
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("C1", typeof(int)));
dt.Columns.Add(new DataColumn("C2", typeof(string)));
dt.Columns.Add(new DataColumn("C3", typeof(int)));
dt.Rows.Add(1, "a", 30);
dt.Rows.Add(2, "a", 40);
dt.Rows.Add(3, "b", 50);
dt.Rows.Add(4, "b", 60);
dt.Rows.Add(5, "c", 70);
dt.Rows.Add(6, "c", 80);
dt.Rows.Add(7, "d", 90);
List<string> list = new List<string>();
foreach (DataRow dr in dt.Rows)
{
if (!list.Contains(dr["C2"].ToString()))
{
Console.WriteLine(dr["C2"] + "总和:" + dt.Compute("sum(C3)", "C2='" + dr["C2"] + "'"));
list.Add(dr["C2"].ToString());
}
}
DataView dv = dt.DefaultView;
dv.Sort = "字段2 asc";
string tempstr = "";
for(int i=0;i <dv.Count;i++)
{
if(tempstr != dv[i]["字段2"].ToString())
{
tempstr = dv[i]["字段2"].ToString();
//保存或打印tempstr和dt.Compute("sum(字段3)", "字段2='"+tempstr+"'");
}
}
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("C1", typeof(int)));
dt.Columns.Add(new DataColumn("C2", typeof(string)));
dt.Columns.Add(new DataColumn("C3", typeof(int)));
dt.Rows.Add(1, "a", 30);
dt.Rows.Add(2, "a", 40);
dt.Rows.Add(3, "b", 50);
dt.Rows.Add(4, "b", 60);
dt.Rows.Add(5, "a", 70);
Console.WriteLine("a总和:" + dt.Compute("sum(C3)", "C2='a'"));
Console.WriteLine("b总和:" + dt.Compute("sum(C3)", "C2='b'"));
/*
输出:
a总和:140
b总和:110
*/