【问题标题】:TDBGrid status bar for column aggregate列聚合的 TDBGrid 状态栏
【发布时间】:2012-05-15 23:45:30
【问题描述】:

有一个包含一些数字列的网格,它需要为每一列实现一个聚合(总和或计数)并将其显示在相应的列下。

我知道某些套件(DevExpress 或其他)已经“默认”实施。但是有一种方法可以使用默认控件或 JVCL 来实现吗?

【问题讨论】:

  • 当您提到 JVCL 时,有 TJvDBGridFooter,这实际上可能是您正在寻找的东西。它发布了OnCalculate 事件,但是我不知道如何调整此控件的大小。您是否正在寻找将与网格列一起调整大小的控件?

标签: delphi c++builder vcl tdbgrid


【解决方案1】:

既然您提到了JEDI VCL,请尝试查看TJvDBGridFooter 组件。它是TJvDBGrid 控件的状态栏。

  • 您可以修改OnDisplayText事件中显示的文字
  • 您可以在OnCalculate 事件中计算聚合字段
  • 您可以跟随网格列滚动、调整大小或修改面板的外观

检查 JVCL 的 ..\examples\JvUltimDBGrid 文件夹中的演示项目以查看它的实际效果。

【讨论】:

  • 你能告诉我 - 如何为一个字段执行汇总并将其显示到页脚中。该示例不能满足我的需求 - 我使用 ClientDataset。
  • 那么,你找到方法了吗?基本上,它是关于数据集中的aggregate fields。然后在TJvDBGridFooter.Columns 集合中添加列,将它们设置为FieldName 连接数据集中的那些聚合字段,将DisplayMask 设置为Σ %d 并在TJvDBGridFooter.OnCalculate 事件中使用以下值填充CalcValue 参数聚合字段。
猜你喜欢
  • 1970-01-01
  • 2020-05-21
  • 2018-10-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多