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

标签 c# wpf dataset wpfdatagrid calculated-columns

我试图找出计算 wpf 中 DataGrid 列总值的最佳方法。

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

执行此操作的最佳做​​法是什么?

最佳答案

您可以监听将导致列中的值发生更改的各种事件,然后在事件触发时通过调用下面的“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 将是绑定(bind)到文本框或标签的公共(public)属性

public int ColTotal
{
    get 
    { 
      return colTotal; 
    }
    set
    {
      colTotal= value;
      OnPropertyChanged("ColTotal");
    }
}

关于c# - 如何使用数据集计算wpf datagrid列的总计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14128796/

相关文章:

c# - 以编程方式生成带有设计的 PDF 报告

c# - C# 中的只读属性与只读成员变量

c# - WPF InkCanvas : how to disable antialiasing

wpf - ComboBox.Text 未考虑 ItemStringFormat 属性

c# - 家谱树控制

c# 扩展基类的方法

c# - 如何制作组件,然后在 XAML 中重用?

c# - 如何检查列默认约束是否存在?

c# - 过滤数据表 c#

null - 如果 _N_ = 1 条件返回 true,即使在 SAS 中设置的数据集为空(零观察)