DataTable.Compute(String, String) Метод

Определение

Вычисляет заданное выражение для текущих строк, отвечающих условию фильтра.Computes the given expression on the current rows that pass the filter criteria.

public:
 System::Object ^ Compute(System::String ^ expression, System::String ^ filter);
public object Compute (string expression, string filter);
member this.Compute : string * string -> obj
Public Function Compute (expression As String, filter As String) As Object

Параметры

expression
String

Вычисляемое выражение.The expression to compute.

filter
String

Фильтр, ограничивающий число строк, используемых выражением.The filter to limit the rows that evaluate in the expression.

Возвраты

Класс Object, которому задан результат сравнения.An Object, set to the result of the computation. Если выражение имеет значение null, возвращаемое значение будет Value.If the expression evaluates to null, the return value will be Value.

Примеры

В следующем примере суммируются значения столбца с именем «Total» для менеджера по продажам, чей идентификационный номер равен 5.The following example sums the values of a column named "Total", for the salesperson whose identification number is five.

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");
}
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

Комментарии

Для expression параметра требуется агрегатная функция.The expression parameter requires an aggregate function. Например, ниже приведено юридическое выражение:For example, the following is a legal expression:

Count(Quantity)

Но это выражение не является следующим:But this expression is not:

Sum (Quantity * UnitPrice)

Если необходимо выполнить операцию над двумя или более столбцами, следует создать DataColumn, присвоить его Expression свойству соответствующее выражение и использовать статистическое выражение для результирующего столбца.If you must perform an operation on two or more columns, you should create a DataColumn, set its Expression property to an appropriate expression, and use an aggregate expression on the resulting column. В этом случае задается DataColumn с именем Total, Expression а свойству — значение this:In that case, given a DataColumn with the name "total", and the Expression property set to this:

"Quantity * UnitPrice"

Аргумент выражения для Compute метода будет следующим:The expression argument for the Compute method would then be this:

Sum(total)

Второй параметр, filter, определяет, какие строки используются в выражении.The second parameter, filter, determines which rows are used in the expression. Например, если таблица содержит столбец дат с именем "Колдате", строки можно ограничить следующим выражением:For example, if the table contains a date column named "colDate", you could limit the rows with the following expression:

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

Правила создания выражений для обоих параметров см. в DataColumn.Expression описании свойства.For rules on creating expressions for both parameters, see the DataColumn.Expression property.

Применяется к

Дополнительно