【问题标题】:Bind a TextBox to the Sum of a DataTable Column将 TextBox 绑定到 DataTable 列的总和
【发布时间】:2012-08-23 17:34:04
【问题描述】:

上下文

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

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

我找到了一半的解决方案

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

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

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

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

问题

有没有办法两者兼得?

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

【问题讨论】:

    标签: vb.net textbox datatable sum bindingsource


    【解决方案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
    

    【讨论】:

    • 是的,我认为这是使用数据表最简单的方法...答案可能有点晚了,即使我这次不会使用它,也许以后会有用^^ ,
    猜你喜欢
    • 1970-01-01
    • 2014-02-02
    • 2011-05-20
    • 2011-01-28
    • 1970-01-01
    • 2014-03-07
    • 2013-06-20
    • 1970-01-01
    相关资源
    最近更新 更多