计算用来传递筛选条件的当前行上的给定表达式。
DataTable.Compute(expression, filter)
filter 要限制在表达式中进行计算的行的筛选器。
备注: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
有关为这两个参数创建表达式的规则,请参见 DataColumn.Expression 属性。
示例
Private Sub ComputeBySalesSalesID(ByVal dataSet As DataSet)
' Presumes a DataTable named "Orders" that has a column named "Total."
Dim table As DataTable table = dataSet.Tables("Orders")
' Declare an object variable.
Dim sumObject As Object
sumObject = table.Compute("Sum(Total)", "EmpID = 5")
End Sub
以上内容摘自:http://msdn.microsoft.com/zh-cn/library/system.data.datatable.compute(VS.80).aspx