2

语境

我想在我的网格下有一个页脚来显示一些关于数据的统计信息。

例如某些列的总和和其他一些列的平均值。

我找到了一半的解决方案

我发现有两件事很有趣,可以帮助我做到这一点,将数据框绑定到 bindingSource,但它只是显示在 textBox 中的选定行......

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

并获得网格中列的总和,但如果我更改网格,它不会更新:S

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

问题

有没有办法两者兼得?

自动更新与 BindingSource 一样,Sum 与 Compute 一样吗?

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 回答