当我在其中放置一个项目进行过滤时,这似乎有效,但我不想添加过滤器,即只是很乐意对列进行求和,就是这样。
我尝试过传入string.empty和“”但没有快乐:
object objColTotal;
objColTotal = _dataSetDataTable.Compute("Sum(Price)", "");
decimal tot = Convert.ToDecimal(objColTotal);
答案 0 :(得分: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);
我得到了正确答案:6.6
答案 1 :(得分:0)
注意事项
样品:
int Dones = int.Parse(dt.Compute("sum(Done)", "").ToString());
int InProgresss = int.Parse(dt.Compute("sum([In Progress])", "").ToString())