我们有 WPF 应用程序,其中我们在一个表单上使用 DataGrid。现在我们要在 Window_Loaded 事件上计算该数据网格的“AMOUNT”列的总数,那么当表单加载时,它能否在一个 TextBox 中显示 AMOUNT 列的总数。那么如何遍历 DATAGRID 中的所有行并计算“AMOUNT”列的总计。
如何在 WPF Datagrid 的页脚中显示此总数。?
我们有 WPF 应用程序,其中我们在一个表单上使用 DataGrid。现在我们要在 Window_Loaded 事件上计算该数据网格的“AMOUNT”列的总数,那么当表单加载时,它能否在一个 TextBox 中显示 AMOUNT 列的总数。那么如何遍历 DATAGRID 中的所有行并计算“AMOUNT”列的总计。
如何在 WPF Datagrid 的页脚中显示此总数。?
绑定 DataGrid
到DataTable
。之后,您可以遍历所有行:
double sum = 0;
foreach (var row in myTable)
{
sum += double.Parse(row["AMOUNT"].ToString());
}
myTextBox.Text = sum.ToString()
将 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;
}
}
}
编辑:格式化间距以使所有代码显示在代码块中