62,046
社区成员
发帖
与我相关
我的任务
分享
DataTable dt = new DataTable();
dt.Columns.Add("id", typeof(int));
dt.Columns.Add("sum", typeof(int));
dt.Rows.Add(1, 2);
dt.Rows.Add(2, 3);
dt.Rows.Add(3, 4);
dt.Rows.Add(4, 5);
dt = dt.AsEnumerable().Select(a =>
{
DataRow dr = dt.NewRow();
object o = dt.Compute("sum(sum)", "id<=" + a.Field<int>("id"));
int sum=0;
int.TryParse(o.ToString(),out sum);
dr["id"] = a.Field<int>("id");
dr["sum"] = sum;
return dr;
}).CopyToDataTable<DataRow>();
//此时 DataTable数据如下
/*
id sum
1 2
2 5
3 9
4 14
*/
DataTable dt = new DataTable();
dt.Columns.Add("id", typeof(int));
dt.Columns.Add("sum", typeof(int));
dt.Rows.Add(1, 2);
dt.Rows.Add(2, 3);
dt.Rows.Add(3, 4);
dt.Rows.Add(4, 5);
for (int i = 1; i < dt.Rows.Count; i++)
dt.Rows[i]["sum"] = (int)dt.Rows[i - 1]["sum"] + (int)dt.Rows[i]["sum"];
public static DataTable GetTable(DataTable dt)
{
DataRow dataRow = dt.NewRow();
int result = 0;
foreach (DataRow row in dt.Rows)
{
result += int.Parse(row["number"].ToString());
}
dataRow["number"] = result;
dt.Rows.Add(dataRow);
if (dt.Rows.Count == 6)
{
return dt;
}
else
{
return GetTable(dt);
}
}