DataTable 中各种计算(笔记)

在DataTable 中可能会涉及到各种各样的计算,其实我们可以使用DataTable.Compute方法

public Object Compute(string expression,string filter)

参数

expression
类型:String
要计算的表达式。 
filter
类型:String
要限制在表达式中进行计算的行的筛选器。 

返回值

类型:Object
设置为计算结果。 


expression 参数需要聚合函数。例如,以下是合法表达式:

Count(Quantity)

但是以下表达式不合法:

Sum (Quantity * UnitPrice)

如果必须针对两列或多列执行操作,则应该创建 DataColumn,并将它的 Expression 属性设置为适当的表达式,然后针对结果列使用聚合表达式。在这种情况下,假定有一个名为“total”的 DataColumn,并且 Expression 属性设置为:

"Quantity * UnitPrice"

Compute 方法的表达式参数将为:

Sum(total)

第二个参数 filter 确定在表达式中使用哪些行。例如,如果该表包含名为“colDate”的日期列,则可用以下表达式限制这些行:

colDate > 1/1/99 AND colDate < 17/1/99

Eg:

//下面的示例针对标识号为五的销售人员,对名为“Total”的列的值求和。
private void ComputeBySalesSalesID(DataSet dataSet)
{
    // Presumes a DataTable named "Orders" that has a column named "Total."
    DataTable table;
    table = dataSet.Tables["Orders"];

    // Declare an object variable.
    object sumObject;
    sumObject = table.Compute("Sum(Total)", "EmpID = 5");
}
原文地址:https://www.cnblogs.com/tmall/p/2996315.html