我有一个表达式“((ID + DepartmentID)* ID)作为ExpressionColumn”,其中ID,department是数据表的列。如何为每个数据行执行表达式,并将新列添加到数据表中作为“ExpressionColumn”。由于表达式可以根据用户的选择而变化,因此请帮助我使用通用代码计算每行/列的表达式,并将新列添加到数据表中。
答案 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)"));
在添加最后一列(计算列)之前和之后使用数据可视化工具。
您会注意到,通过添加计算列,您可以进行计算。