2

I am trying to figure out what is the best way to calculate a total value of DataGrid column in wpf.

  • I´m using dataset to display data from sql in my DataGrid( and tableApapter for update)
  • I want the info to update dynamically when I edit numbers in the DataGrid
  • I want the total sum to display in label/textbox or footer below the DataGrid

What is the best practice to do this ?

4

2 に答える 2

3

列の値を変更するさまざまなイベントをリッスンし、以下の「calculateTotal()」のようなメソッドを呼び出すことで、イベントが発生するたびに合計を計算できます。

DataTablesイベントはここで定義されています:ここ

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");
    }
}
于 2013-01-02T21:39:59.077 に答える
0

DataSet テーブル行または DataGrid 内で for ループまたは while のいずれかを使用し、それを合計して、結果をラベルに表示する必要があります

また

ComputeDataSet テーブル列で使用できます

于 2013-01-02T20:51:42.833 に答える