如何计算数据表的每一行的表达式,并根据得到的结果将新列添加到数据表中

时间:2011-03-29 04:21:53

标签: c#-3.0

我有一个表达式“((ID + DepartmentID)* ID)作为ExpressionColumn”,其中ID,department是数据表的列。如何为每个数据行执行表达式,并将新列添加到数据表中作为“ExpressionColumn”。由于表达式可以根据用户的选择而变化,因此请帮助我使用通用代码计算每行/列的表达式,并将新列添加到数据表中。

1 个答案:

答案 0 :(得分:1)

看一下这个例子

DataTable dt = new DataTable();
dt.Columns.AddRange(new[] { new DataColumn("ID", typeof(decimal)), new DataColumn("DepartmentID", typeof(decimal)) });

for (int iRow = 0; iRow < 10 ; iRow++)
{
    DataRow dr = dt.NewRow();
    dr["ID"] = iRow;
    dr["DepartmentID"] = iRow;
    dt.Rows.Add(dr);
}
dt.Columns.Add(new DataColumn("Test", typeof (decimal), "((ID + DepartmentID)*ID)"));

在添加最后一列(计算列)之前和之后使用数据可视化工具。

您会注意到,通过添加计算列,您可以进行计算。