C# 3.0 如何为datatable的每一行计算表达式,并根据得到的结果向datatable添加新列

C# 3.0 如何为datatable的每一行计算表达式,并根据得到的结果向datatable添加新列,c#-3.0,C# 3.0,我有一个表达式“((ID+DepartmentID)*ID)as ExpressionColumn”,其中ID,department是数据表的列。如何为每个datarow执行表达式,并将新列作为“ExpressionColumn”添加到datatable中。由于表达式可能根据用户的选择而有所不同,请使用通用代码帮助我计算每行/每列的表达式,并将新列添加到数据表中。看看这个示例 DataTable dt = new DataTable(); dt.Columns.AddRange(new[] {

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

看看这个示例

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)"));
DataTable dt=newdatatable();
AddRange(new[]{new DataColumn(“ID”,typeof(decimal)),new DataColumn(“DepartmentID”,typeof(decimal))});
对于(int-iRow=0;iRow<10;iRow++)
{
DataRow dr=dt.NewRow();
dr[“ID”]=iRow;
dr[“部门ID”]=iRow;
dt.Rows.Add(dr);
}
添加(新数据列(“测试”,类型(十进制),“((ID+部门ID)*ID)”);
在添加最后一列(计算列)之前和之后使用数据可视化工具


您会注意到,通过添加计算列,计算已经完成。

看看这个示例

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)"));
DataTable dt=newdatatable();
AddRange(new[]{new DataColumn(“ID”,typeof(decimal)),new DataColumn(“DepartmentID”,typeof(decimal))});
对于(int-iRow=0;iRow<10;iRow++)
{
DataRow dr=dt.NewRow();
dr[“ID”]=iRow;
dr[“部门ID”]=iRow;
dt.Rows.Add(dr);
}
添加(新数据列(“测试”,类型(十进制),“((ID+部门ID)*ID)”);
在添加最后一列(计算列)之前和之后使用数据可视化工具


通过添加计算列,您会注意到,计算已经为您完成。

非常感谢。你能告诉我如何用选定的列创建一个新的数据表吗。我有一个八列的datatable,现在用户只想显示三列。如何筛选datatable并使用选定列的值列表创建新表。希望你有问题。非常感谢。你能告诉我如何用选定的列创建一个新的数据表吗。我有一个八列的datatable,现在用户只想显示三列。如何筛选datatable并使用选定列的值列表创建新表。希望你有问题。