Функция вычисления данных для строк - PullRequest
4 голосов
/ 05 декабря 2008

Поскольку мы знаем, что с помощью функции вычисления данных мы можем получить сумму столбцов. Но я хочу получить сумму ряда данных. Поясню на примере:

У меня есть данные, подобные изображению ниже: С помощью функции вычисления мы можем получить сумму каждого столбца (продукта) Например, для продукта 1, 2 + 12 + 50 + 13 = 77.

Я хочу получить сумму компании1: 2 + 6 + 4 + 3 + 5 = 20

http://img123.imageshack.us/img123/1517/61519307xx5.jpg

Как я могу сделать это с asp.net 1.1?

Ответы [ 4 ]

2 голосов
/ 05 декабря 2008

LINQ для спасения:

DataTable dt = WhateverCreatesDataTable();
DataRow dr = dt.Rows[0];
int sum = dt.Columns.Cast<DataColumn>().Sum(dc=>(int)dr[dc]);

Для тех, кто все еще тянет свои кулаки в каменном веке (он же до .Net 3.5 и LINQ):

DataTable dt = WhateverCreatesDataTable();
DataRow dr = dt.Rows[0];
int sum = 0;

foreach(DataColumn dc in dt.Columns)
  sum += (int)dr[dc];
2 голосов
/ 07 января 2009

Поскольку вы хотите решить эту проблему в 1.1, вот что вы можете сделать как простое решение

DataColumn totalColumn = new DataColumn();
totalColumn.DataType = System.Type.GetType("System.Int32");
totalColumn.ColumnName = "Total";
totalColumn.Expression = "Product1 + Product2 + Product3 + Product4 + Product5";

// Populate and get the DataTable dt then add this computed column to this table

dt.Columns.Add(totalColumn);
//Now if you access the column "Total" of the table you will get the desired result.
2 голосов
/ 05 декабря 2008

С MSDN :

Если вы должны выполнить операцию на два или более столбцов, вы должны создать DataColumn, установите его выражение свойство к соответствующему выражению, и использовать агрегированное выражение на результирующий столбец. В этом случае, учитывая DataColumn с именем «итого», а свойство Expression установлено в это:

"Quantity * UnitPrice"

0 голосов
/ 02 января 2019

Мы можем использовать функцию Datatable's Compute () для следующих целей:

  • Чтобы найти сумму.
  • Чтобы найти максимальное значение.
  • Чтобы найти минимальное значение.
  • Для расчета среднего.

Ниже ссылки подробно объясняют функцию compat () Datatable:

http://codevariation.blogspot.com/2017/02/using-datatable-compute-function-in-cnet.html

Надеюсь, это поможет вам.

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...