SUM数据表列,带有计算但没有过滤器

Dko*_*ong 3 asp.net datatable sum

这似乎工作,当我把一个项目进行过滤,但我不想添加一个过滤器,即只是很乐意总结列,这就是它.

我试过传入string.empty和""但没有快乐:

object objColTotal;
objColTotal = _dataSetDataTable.Compute("Sum(Price)", "");
decimal tot = Convert.ToDecimal(objColTotal);
Run Code Online (Sandbox Code Playgroud)

Jay*_*ggs 5

一个空字符串应该工作.

您始终可以使用您确定将包含所有记录的过滤器.


在十进制列上快速测试:

var dt = new DataTable();
dt.Columns.Add("DecCol1", typeof(decimal));
dt.Columns.Add("StrCol1");
dt.Rows.Add(new object[] { 1.1, "r1"});
dt.Rows.Add(new object[] { 2.2, "r2" });
dt.Rows.Add(new object[] { 3.3, "r3" });

object sum = dt.Compute("SUM(DecCol1)", "");
Console.WriteLine(sum);
Run Code Online (Sandbox Code Playgroud)

我得到了正确答案:6.6