数字隐喻ReportBuilder:页面小计

时间:2014-07-08 14:55:24

标签: delphi report reportbuilder

我有一个使用Digital Metaphors ReportBuilder创建的报告(VCL版,在Delphi XE3中)。 这是一张发票,带有标题,细节和页脚带。

当数据适合一页时,一切都很好。 如果我有更多的数据,填充,让我们说为了论证,2页,我会要求:

  1. 仅在最后一页中的页脚带
  2. 在所有其他页面上,页脚区域应仅替换为详细信息区域中的运行量,直至该页面(从第一页开始)。
  3. 除了第一个之外的所有内容,标题应包含所有先前页面的运行总计。
  4. 类似的东西:

    第1页: - (标题) - 细节 - “直到现在的价值:(细节带中存在的一个字段的总和)”

    第2页: - (标题) - “直到现在的价值:(前一页中细节带中的字段之一)” - 细节 - 页脚

    我尝试使用DBCalc组件调查组总计,但那些人不知道该页面。它只显示最后的总数,而不是页面的末尾。

    关于我如何做到这一点的任何指示? 谢谢

1 个答案:

答案 0 :(得分:2)

您需要使用Calc选项卡,以决定何时显示或隐藏某些波段。报告有一个PageNo属性,您可以在页眉或页脚的BeforePrint事件中决定何时显示页眉或页脚。

至于在每个页面的底部显示一个运行总计,你可以使用ppRegion组件(它是ReportBuilder等效于Panel)。同样,您可以使用BeforePrint事件来决定何时显示。

运行总计本身应该使用ppVariables完成。在遍历数据时,将值添加到您需要的每个变量中。将这些变量放在上面提到的Region中,它们将显示每页末尾的值。时间可以在这里起作用,因此您可能需要调整变量的CalcType,ResetType,CalcComponent和ResetComponent属性以满足您的需求。

我已经使用ReportBuilder近10年了,相信我,一切都可以完成,但有些操作可能只需要时间来完善。我们现在只在我们的软件中使用它,既可以用于我们产品发布的标准报告(超过300个),也可以用户创建自己的报告。