2010-07-09 84 views
1

我在我的C#程序中包含數字數據的Datagridview。如何計算一列datagridview的總和?

我需要總結的所有A列和所有列B.

(我不希望使用任何SQL查詢。)

我如何做到這一點?

在此先感謝。

+0

您正在使用什麼版本的.NET的?視圖的數據來源是什麼? – 2010-07-09 05:44:29

+0

我使用Visual-studio 2008,FrameWork 3.5 – Gold 2010-07-09 06:16:05

+0

檢查已編輯的答案將解決您的問題 – 2010-07-09 06:23:20

回答

1

使用gridView.DataSource。它可以是IList InterfaceIListSource Interface,其方法GetList()返回IList。所以你基本上可以對它的成員運行求和方法。

或者,如果您知道DataSource中的確切類型,則可以使用該對象中的特定方法聚合數據(如果可能,甚至可以使用Enumerable.Sum Method)。

decimal sum; 
foreach (DataGridViewRow row in dataGridView.Rows) 
{ 
    sum += (decimal)row[0].Value + (decimal)row[1].Value; 
} 
2

如果你的DataGrid綁定到一個DataTable,另一種選擇是使用Datatable.Compute()方法。

http://msdn.microsoft.com/es-es/library/system.data.datatable.compute%28VS.80%29.aspx

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