我们有WPF应用程序,我们在一个表单上使用DataGrid。 现在我们要在Winddow_Loaded事件上计算该数据网格的“AMOUNT”列的总数,那么它是否可以在一个TextBox中显示总数为AMOUNT的列 当表单加载时。那么如何遍历DATAGRID&中的所有行计算“AMOUNT”列的总和。
如何在WPF数据网格的页脚中显示此总数。?
答案 0 :(得分:2)
Bind DataGrid
至DataTable
。之后,您可以遍历所有行:
double sum = 0;
foreach (var row in myTable)
{
sum += double.Parse(row["AMOUNT"].ToString());
}
myTextBox.Text = sum.ToString()
答案 1 :(得分:1)
将DataGrid转换为DataSet的函数:
namespace WpfApplication1
{
static class ExtClass
{
public static DataSet ToDataSet<T>(this IList<T> list)
{
Type elementType = typeof(T);
DataSet ds = new DataSet();
DataTable t = new DataTable();
ds.Tables.Add(t);
//add a column to table for each public property on T
foreach (var propInfo in elementType.GetProperties())
{
Type ColType = Nullable.GetUnderlyingType(propInfo.PropertyType) ?? propInfo.PropertyType;
t.Columns.Add(propInfo.Name, ColType);
}
//go through each property on T and add each value to the table
foreach (T item in list)
{
DataRow row = t.NewRow();
foreach (var propInfo in elementType.GetProperties())
{
row[propInfo.Name] = propInfo.GetValue(item, null) ?? DBNull.Value;
}
t.Rows.Add(row);
}
return ds;
}
}
}
编辑:格式化的间距,以便在代码块中显示所有代码