【问题标题】:Delphi QuickReport: print number of grouped recordsDelphi QuickReport:打印分组记录的数量
【发布时间】:2010-11-16 12:35:11
【问题描述】:

在 QuickReport 3 和 Delphi 中,如何打印由 TQRBand 类型 GroupFooter 分组的记录数?

是否涉及表达式和计数?谢谢。

编辑:可以命名为“为每个组生成小计”。

假设我们有

<header>
<title>
<group header>
<deail>
<deail>
<deail>
<group footer> print here 3

<group header>
<deail>
<deail>
<group footer> print here 2

<summary>

【问题讨论】:

    标签: delphi quickreports


    【解决方案1】:

    你不能自己做吗?创建一个内存变量 iDetail: Integer 您必须在适用的 OnBeforePrint 方法处理程序中将其重新初始化为零。然后在您希望它打印的地方执行 inttostr(idetail)

    我发现 QuickReport 有很多限制,您必须自己编写这样的东西。

    【讨论】:

    • 这是可行的,但它打破了快速报告中波段的使用。我将不得不通过报告中的更改来维护代码。如果一切都失败了,这将导致不良后果。谢谢
    【解决方案2】:

    我通过混合记忆和 QR 帮助阅读来写这篇文章...我手头没有 QR 来测试我所说的内容,所以您可以在接受我的答案之前测试 ;)

    在该组的页脚区域中放置一个 TQRExpr 组件。然后在对象检查器中找到 Expression 属性,您可能需要单击省略号按钮来启动表达式编辑器并使用 count 函数构建一个新表达式。

    或者您可能想手动输入表达式,例如 'Count(Table1.Field1)'

    将 ResetAfterPrint 属性设置为 true 以指示组件在新组开始之前将计数器设置为 0。

    您可能希望使用 Mask 属性来格式化该数字。

    编辑 @none 声明 Count 不接受任何参数,所以我删除了我最初用括号括起来的那个,但我不确定你是否必须使用括号本身(我无法测试它)。如果您有兴趣使用 count 而不是 重新发明轮子,请评论它是否像现在显示的那样有效 - 或者不 -。

    【讨论】:

    • 我不确定 count 是否接受参数。
    • Count 不带任何参数。这个答案应该被删除。
    • @none:正如我所说,我是靠记忆和帮助文件写的。如果 count 不带任何参数,那么文档在这一点上并不清楚,我记得它需要一个,因为我的记忆力往往很差,对这些小细节。尽管如此,我认为这个答案仍然存在,因为我认为没有理由删除它。问候。
    • 我建议删除它的原因是当另一个人路过看看这个解决方案是否有效,并浪费时间尝试。
    • @none:假设人们会首先尝试接受的答案。如果有人也想尝试我的建议,最好我编辑我的答案以说明它不接受任何参数,所以感谢您提供的信息;)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-25
    • 1970-01-01
    • 2012-12-22
    • 2014-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多