我的C#程序中有一个包含数字数据的Datagridview。
我需要将所有A列和所有B列相加。
(我不想使用任何SQL查询。)
我该怎么做?
提前致谢。
答案 0 :(得分: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");
}
答案 1 :(得分:1)
使用gridView.DataSource
。它可以是IList Interface或IListSource Interface,其方法GetList()
可返回IList
。所以你基本上可以在它的成员上运行求和方法。
或者,如果您知道DataSource中的确切类型,则可以使用该对象的特定方法聚合数据(如果可能,甚至使用Enumerable.Sum Method )。
或
decimal sum;
foreach (DataGridViewRow row in dataGridView.Rows)
{
sum += (decimal)row[0].Value + (decimal)row[1].Value;
}