2

環境

データに関する統計を表示するために、グリッドの下にフッターを配置したいと考えています。

一部の列の合計や他の列の平均など。

私が見つけた半分の解決策

データボックスをバインディングソースにバインドするという、これを行うのに役立つ2つの興味深いことがわかりましたが、テキストボックスに表示されるのは選択された行だけです...

myTextBox.DataBindings.add("Text", myGrid.DataSource,"Weight")

グリッド内の列の合計を取得しますが、グリッドを変更しても更新されません:S

myTextBox.Text = myGrid.DataSource.DataSource.DataSet.Tables(0).Compute("Sum(Weight)","")

質問

両方を持つ方法はありますか?

BindingSource と同じように自動更新し、Compute と同じように Sum を更新しますか?

4

1 に答える 1

1

バインディング ソースとして DataTable を使用しているため、RowChanged イベントを接続してそこで変更を計算するだけです。

Private Sub myTable_RowChanged(ByVal sender As Object, _
                              ByVal e As DataRowChangeEventArgs) _
                              Handles myTable.RowChanged
  myTextBox.Text = myTable.Compute("SUM(Weight)", String.Empty)
End Sub
于 2012-12-18T15:13:04.103 に答える