2010-07-09 89 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"); 
}