combit 开发博客

为您的报告提供强大的、可重复使用的子报告

发布于: 2020年7月15日 星期三 | 2条评论
 

通常情况下,报告由类似的、重复的部分组成,如一些图表或交叉表,只是对不同的类别进行了过滤,但其他方面是相同的。或者是有一组预选的列的表和子表,你希望在使用这个表的任何地方都有。List & Label 26现在可以帮助你和你的用户摆脱维护这类报表的繁琐任务,并对所有对象的实例进行修改。你可以添加真正的子报表,这些报表正好包含所需的项目,并在一个地方维护这些项目。


类似的概念在使用模板方面已经有一段时间了。然而,这些并不像所要求的那样灵活,因为模板中的所有对象都包括在与它们链接的报告中。子报告建立在相同的基础上,然而它们允许你和你的用户选择要包括的单个报告容器项目(即单个报告部分),同时保留 "父 "项目中需要的层次结构。

例如,让我们考虑这个订单列表,它包含了所有你可能想包含在这样一个列表中的字段:

Order Report with Sub Report

现在我们可以有一个报告,使用订单年份的报告参数,以筛选不同的订单:

Parametrized Report-With Sub-Report

而另一份报告中,每个客户的订单被1:n列出:

Customers Report with Sub Report

请注意,这三个实例的格式和内容是完全一样的。原因很简单:第一个报告实际上是作为后两个报告的子报告。添加一个子报告是很简单的。只要在报告容器中添加一个新的项目。不管它是顶层项目还是子项目,都没关系。从可用选项列表中,选择全新的 "子报告 "选项:

Choose Sub Report

这就是了! 容器项目被链接到 "主 "报告,并且在每次设计或打印报告时都会从子报告中加载。

Object List with Sub Report

顺便提一下,你现在也可以选择从其他项目导入项目(见上面的截图)。在这种情况下,产生的报告是完全脱离源头的,可以独立改变。

当添加一个有几个报告项目的报告时,你可以选择使用哪一个:

Report Container Item Choice

您可以继承或覆盖子报告的许多属性。在上面的参数化报告示例中,您需要添加筛选器以确保只显示匹配的顺序。可以在属性窗口中轻松地执行以下操作:

Report Properties for Subreport

注意,你也可以选择列的宽度,以调整它的可用空间。当在不同宽度的报告容器中重复使用子报告时,这就很方便了。

现在,这将使报告设计人员的现场操作变得更加轻松,从而节省**负载**的时间,并避免忘记将适应应用到所有需要相同布局的地方。而CI的改变也是一个小菜一碟。




作者: Jochen Bartlau
List & Label开发主管

Jochen Bartlau 作为总经理领导combit的开发工作。他是一个微软.NET的爱好者,推动创新和敏捷项目管理。这位移动设备的极客在他的第一人生中曾是一位物理学家,他喜欢和他的家人一起度过他的业余时间。