如何使用数据集计算wpf datagrid列的总数

时间:2013-01-02 20:37:40

标签: c# wpf dataset wpfdatagrid calculated-columns

我想弄清楚在wpf中计算DataGrid列总值的最佳方法是什么。

  • 我使用数据集在我的DataGrid中显示来自sql的数据(以及用于更新的tableApapter)
  • 我希望在编辑DataGrid中的数字时动态更新信息
  • 我希望总和显示在DataGrid
  • 下面的标签/文本框或页脚中

这样做的最佳做法是什么?

2 个答案:

答案 0 :(得分:3)

您可以侦听将导致列中的值更改的各种事件,然后通过调用下面的“calculateTotal()”方法计算事件触发时的总计。

DataTables事件在此处定义:here

private int colTotal = 0; // class level

public Myclass()
{ 
    // Add a ColumnChanged event handler for the table.
    MyDataTable.ColumnChanged += new DataColumnChangeEventHandler(Column_Changed);
    // wire up more event handlers here..
}

private static void Column_Changed(object sender, DataColumnChangeEventArgs e )
{
   calculateTotal();
}

// calculate total of specified column
void calculateTotal()
{
   colTotal = myDataSet.Tables["myTable"].Compute("SUM(myColumnName)", String.Empty);
} 

colTotal将是绑定到文本框或标签

的公共属性
public int ColTotal
{
    get 
    { 
      return colTotal; 
    }
    set
    {
      colTotal= value;
      OnPropertyChanged("ColTotal");
    }
}

答案 1 :(得分:0)

您必须使用for循环或在DataSet表行或DataGrid中,对其求和并在Label中显示结果

您可以在DataSet表列

上使用Compute