C# 在DataView筛选器中使用聚合函数
我有一个数据表,它有一列(“利润”)。我想要的是得到这个表中所有值的总和。我试着用下面的方式做这件事C# 在DataView筛选器中使用聚合函数,c#,datatable,dataview,aggregate-functions,filter,C#,Datatable,Dataview,Aggregate Functions,Filter,我有一个数据表,它有一列(“利润”)。我想要的是得到这个表中所有值的总和。我试着用下面的方式做这件事 DataTable dsTemp = new DataTable(); dsTemp.Columns.Add("Profit"); DataRow dr = null; dr = dsTemp.NewRow(); dr["Profit"] = 100; dsTemp.Rows.Add(dr); dr = dsTemp.NewRow(); dr["Profit"] = 200; dsTem
DataTable dsTemp = new DataTable();
dsTemp.Columns.Add("Profit");
DataRow dr = null;
dr = dsTemp.NewRow();
dr["Profit"] = 100;
dsTemp.Rows.Add(dr);
dr = dsTemp.NewRow();
dr["Profit"] = 200;
dsTemp.Rows.Add(dr);
DataView dvTotal = dsTemp.DefaultView;
dvTotal.RowFilter = " SUM ( Profit ) ";
DataTable dt = dvTotal.ToTable();
但我在应用过滤器时出错。。。
如何获得变量中利润列的总和
谢谢您……将数据列设置为数字类型(int、decimal等): 使用:
请注意,聚合不是一种过滤器,这是您正在使用的方法的主要问题。我使用了DataTable的计算方法,正如建议的那样,它工作得很好。我应用了与DataView(用于在数据网格中显示已排序和过滤的数据)相同的过滤,以及聚合函数
string SingleVocheridSale ="1";
DataView view = new DataView(dt);
view.RowFilter = string.Format("VOCHID='" + SingleVocheridSale + "'");
dataGridview1.DataSource = view;
object sumObject;
sumObject = dt.Compute("Sum(NETAMT)", view.RowFilter);
lable1.Text = sumObject.ToString();
int total = dsTemp.Compute("Sum(Profit)", "");
string SingleVocheridSale ="1";
DataView view = new DataView(dt);
view.RowFilter = string.Format("VOCHID='" + SingleVocheridSale + "'");
dataGridview1.DataSource = view;
object sumObject;
sumObject = dt.Compute("Sum(NETAMT)", view.RowFilter);
lable1.Text = sumObject.ToString();