DataTable的Compute的功能可謂強大。
public object Compute( string expression, string filter );
expression:要執行計算的表達式
filter:過濾表達式
這兩個表達式都是用Sql語法,例如:
table.Compute("sum(count)", "count>0");
當我們的table中有count和price列時,如果要計算總金額,應該如何寫表達式呢?
table.Compute("sum(count*price)", "");
你肯定會想到這樣計算,但這樣是錯誤的。我們應該使用表達式,先添加每一行的金額列,然后再計算總金額:
table.Columns.Add("total", typeof(decimal), "count*price"); table.Compute("total", "");
這個時侯才能得出總的金額。