在WPF中计算DATAGRID的DataGridTemplateColumn中“Amount”列的SUM

时间:2013-02-12 07:33:40

标签: wpf wpf-controls wpfdatagrid wpftoolkit

我们有WPF应用程序,我们在一个表单上使用DataGrid。 现在我们要在Winddow_Loaded事件上计算该数据网格的“AMOUNT”列的总数,那么它是否可以在一个TextBox中显示总数为AMOUNT的列 当表单加载时。那么如何遍历DATAGRID&中的所有行计算“AMOUNT”列的总和。

如何在WPF数据网格的页脚中显示此总数。?

2 个答案:

答案 0 :(得分:2)

Bind DataGridDataTable。之后,您可以遍历所有行:

        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;
     }

    }
}

编辑:格式化的间距,以便在代码块中显示所有代码