赞
踩
FastReport .Net是一款全功能的Windows Forms、ASP.NET和MVC报表分析解决方案,使用FastReport .NET可以创建独立于应用程序的.NET报表,同时FastReport .Net支持中文、英语等14种语言,可以让你的产品保证真正的国际性。
FastReport.NET官方版下载(qun:585577353)https://www.evget.com/product/1861/download
在许多报告中,我们可能需要显示一些总数信息:组的总和、列表中的行数等等。FastReport 使用总数来完成这项任务。对于总数,您需要指定以下参数:
总函数列表如下:
Function | Description |
---|---|
Sum | 计算表达式的总和。 |
Min | 计算表达式的最小值。 |
Max | 计算表达式的最大值。 |
Average | 计算 表达式的平均值 |
Count | 返回行数。 |
CountDistinct | 返回不同值的数量。 |
我们将以使用合计函数为例进行说明。让我们创建使用"Categories"和 "Products"两个表的 "master-detail"报告:
编写的报告如下:
让我们在该报告中添加总计,打印每个类别的库存单位总量--"UnitsInStock "数据列的总和。总计将打印在 "Data Footer "区域。
要打印总值,需要先创建总值。为此,按下 "Data"窗口中的 "Action "按钮,选择 "New total"项。另一种方法是右击数据树中的"Totals" 元素,选择 "New total" 菜单项。您将看到合计编辑器窗口。
首先,您需要输入总数的名称。您将使用合计的名称来称呼合计,因此,合计的名称要易于理解其计算的内容。让我们把合计称为 "TotalUnits"。
然后,我们为总数选择 "Sum "函数。
现在,我们需要指明计算总计的数据范围。为此,我们在 "Evaluate on each row of the band:(在带的每一行上评估:)"字段中选择 "Data(数据)"带,在该带中打印产品列表。在 "Print on the band:"字段中,我们选择打印总数的条带,即 "Data Footer"条带。
按确定按钮关闭编辑器。你会看到新的总数出现在 "数据 "窗口中。现在可以将其拖入报告中:
运行报告后,我们将看到以下内容:
条件合计
在前面的示例中,计算的是所有数据行的总数。我们可以通过在总计编辑器中指明条件来限制这一范围。只有条件返回为真的数据行才会计算总计。
例如,我们可以设置以下条件:
这意味着,应为未设置 "Discontinued "标志的产品计算总计。
运行总计
在我们的示例中,打印 "Data Footer"带后重置了总数。出现这种情况的原因是,我们在总计编辑器中指出,打印总计后必须重置总计。因此,每个类别都打印了自己的总值。
如果我们取消选中 "Reset after print"复选框,打印后就不会重置总数。这就是所谓的运行总计。
如果需要同时打印两种类型的合计值(普通合计和运行合计),可以再创建一个具有类似设置的合计值,然后取消选中 "Reset after print "标志。
页码总数
要创建打印在页脚的总数,必须在 "Print on the band:"字段中注明页脚。
在页眉打印总计
通常情况下,您会在页脚部分(如数据页脚、组页脚等)打印总计值。这是一种自然的打印顺序,因为当您打印总计时,其值已经计算完毕,可以随时使用。不过,在某些情况下,您需要将总数打印在页眉上(例如,组页眉)。如果尝试这样做,您将看到一个零值。此时,打印出的总数尚未计算。
为了解决这个问题,FastReport 有一个叫做 "delayed print "的功能。"Text "对象有一个名为 "ProcessAt "的属性,它可以有以下值之一:
Value | Description |
---|---|
Default | 默认打印模式。这是默认值。 |
ReportFinished | 该对象的值将在报告结束时计算。 |
ReportPageFinished | 该对象的值将在页面中所有条带完成时计算。 |
PageFinished | 该对象的值将在页面结束时计算。 |
ColumnFinished | 该对象的值将在列结束时计算。 |
DataFinished | 该对象的值将在数据带结束时(打印页脚时)计算 |
GroupFinished | 该对象的值将在组结束时计算(打印其页脚时)。 |
让我们来看看它是如何工作的。将打印总数的 "Text "对象放在组头。将 "Text "对象的 "ProcessAt "属性设置为 "GroupFinished":
运行报告时,FastReport 将执行以下操作:
准备好的报告如下:
使用 "ProcessAt "属性的其他值,可以在报告标题中打印报告总数(设置 ProcessAt = ReportFinished),或在页眉中打印页面总数(设置 ProcessAt = PageFinished)。
如果打开报告文件缓存("Report/Options..."菜单,"Use file cache "复选框),延迟打印功能将不起作用。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。