主子报表设计方法汇总(3):批量多笔订单信息查询和打印/导出-方案1

(一)背景介绍

这篇文章是主子报表系列的第三篇,第一篇和第二篇使用了不同的不方法,实现了对单笔订单的信息查询。
这篇文章我们将实现通过一个报表查询多笔订单的信息,很多时候我们也将这种类型的报表称之为报表合并(或者合并报表)、批量报表、批量打印、批量导出报表等。


具体实现的报表样式如下:
用户可以根据自己的需要,选择一个或者多个订单编号,然后查询相应的订单信息,最后用于打印或者导出等需要。




(二)思路解析
这次我们要通过一个报表,批量输出多个订单的信息,大家很容易联想到表格的分组功能,将订单编号作为分组条件,并将另外一个表格嵌入到这个表格的最后一行,那么我们就可以在同一个报表里面,批量输出多笔订单的信息了,同时,如果为表格分组设置换页,那么每笔订单显示问了之后,就会自动换页,从下一页开始显示另外一个订单的信息。


当然,除了使用表格分组之外,在Wyn Enterprise报表中,还有列表分组、子报表组件等方法也可以实现,我们会在后面的章节中来介绍。

(三)实现步骤
第1步:创建数据源连接
在用户门户中,创建一个新的数据源连接。


然后选择Excel数据源类型


为报表数据源起名为【主子报表示例数据源】,并选择【 <ignore_js_op> Wyn Enterprise主子报表示例数据.xlsx (415 KB, 下载次数: 0) 】文件作为数据源

设置完成之后,点击保存按钮,然后返回到用户门户界面中。


第2步:创建报表
从用户门户中创建新的报表,在报表模板选择界面选择【空白RDL报表】类型。


第3步:创建数据集在报表设计器右侧的【数据绑定】选项卡中,选择新建数据集。


首先我们创建【订单信息】数据集,该数据集根据用户输入的订单编号,返回这些订单在【订单】表中对应的行。
数据集对应的详细设置如下:


数据集名称:订单信息
查询语句:

  1. select * from 订单 where 订单编号 in @订单编号
复制代码

查询参数:订单编号



点击确定按钮之后,返回到报表设计界面,你会看到新添加的【订单信息】数据集和【订单编号】报表参数。
注意:
在数据集对话框中,你添加查询参数之后,如果只设置了查询参数的名称,没有设置数值,将自动添加一个与查询参数同名的报表参数,这样可以节省你单独创建报表参数的时间。

按照同样的方法,我们继续新建【订单明细】数据集,对应的设置如下:



数据集名称:订单明细
查询语句:

  1. select * from 订单明细 where 订单编号 =@订单编号
复制代码

查询参数名称:订单编号
查询参数数值:=Parameters!订单编号.Value ,说明:因为在创建第一个数据集【订单信息】时,我们已经创建了报表参数,所以,这里直接为查询参数的值设置参数名称就可以。 <ignore_js_op>

点击确定按钮之后,返回到报表设计界面,你会看到新添加的【订单明细】数据集。

这样我们就添加好需要的两个数据集,以及供用户输入查询条件的报表参数,如下图所示:


第4步,添加表格并绑定数据字段
首先,我们添加一个表格用于显示【订单信息】数据集的数据,在表格中添加一个以【订单编号】作为条件的表格分组,然后在分组头的单元格设置数据,单元格的数据绑定和计算表达式写法就不再复述。


并且设置分组的换页显示方式


然后设置显示商品列表的子表格,如下:

 

接下来,将子表格拖动到主表格的最后一行单元格中,得到以下设计界面:


然后选中整个子报表,在右侧的属性窗口中找到【数据过滤条件】属性,添加一个项目,然后按照右侧的窗口设置按照【订单编号】作为条件的过滤属性。


第5步:设置【订单编号】参数为多选下拉列表
因为用户可以一次选中多个订单编号,我们将给用户提供多选下拉框,供用户输入订单编号,设置方法如下:
在报表设计器右侧的【数据绑定】面板中,点击【订单编号】参数,然后进入该参数的详细设置页面,按照下图配置该参数支持多选(多值参数)和下拉列表功能。



第6步:点击预览按钮,预览报表内容
在预览界面中,先选择需要查询的订单编号。


通过以上的操作步骤呢,我们就可以一次性的查询多笔订单的信息,这是一种典型的批量查询、批量打印的应用场景。



在后面的文章,我们还会继续介绍如何通过列表组件来实现同样的功能,敬请期待吧

原文地址:https://www.cnblogs.com/edoo/p/13502012.html