gpt4 book ai didi

DevExpress - xtragrid 列运行总计

转载 作者:行者123 更新时间:2023-12-04 02:53:55 30 4
gpt4 key购买 nike

我正在使用绑定(bind)到数据源的 DevExpress xtragrid...一切都很好。我正在添加 1 个未绑定(bind)的列(余额),用于保存计算结果。当借方和/或贷方列在网格中的任何位置发生变化时,“余额”列必须重新计算。鉴于可能有大量记录,我希望循环语句不是我唯一的选择。相反,我希望使用表达式编辑器。

例子:

dr      cr      balance
100 0 100
0 50 50
0 45 5

最佳答案

  1. 在您的数据源中创建一个名为金额 的新列。在此列中,您将同时将借方和贷方存储为正值和负值
  2. 向您的 xtragrid 添加一个新列。将其命名为 colRunningBalance
  3. 将列的 UnboundType 设置为十进制。这告诉网格您将自己处理数据
  4. 将以下事件添加到您的网格表单中。代码在 VB.NET 中,但它应该很容易转换为任何语言

    Private Sub gridView_CustomUnboundColumnData(sender As System.Object, e As DevExpress.XtraGrid.Views.Base.CustomColumnDataEventArgs) Handles
    gvCash.CustomUnboundColumnData
    Dim view = DirectCast(sender, GridView)

    If e.Column.FieldName = "colRunningBalance" And e.IsGetData Then
    Dim total = 0D
    For i As Integer = -1 To e.ListSourceRowIndex - 1
    total += CDec(view.GetListSourceRowCellValue(i + 1, "Amount"))
    Next
    e.Value = total
    End If
    End Sub

关于DevExpress - xtragrid 列运行总计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17056655/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com