1

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

如何在 WPF Datagrid 的页脚中显示此总数。?

4

2 回答 2

2

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

        double sum = 0;
        foreach (var row in myTable)
        {
            sum += double.Parse(row["AMOUNT"].ToString());
        }
        myTextBox.Text = sum.ToString()
于 2013-02-12T08:40:07.377 回答
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;
     }

    }
}

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

于 2013-02-12T09:45:59.317 回答