找回密码
 立即注册

QQ登录

只需一步,快速开始

ZenosZeng 讲师达人认证 悬赏达人认证
超级版主   /  发表于:2020-3-15 23:28  /   查看:3809  /  回复:0
本帖最后由 Eden.Sun 于 2023-1-5 18:27 编辑

(一)背景介绍

在  主子报表设计方法汇总(3):批量多笔订单信息查询和打印/导出-方案1 中,我们介绍了如何利用表格的分组,以及表格嵌套的功能实现批量订单查询的实现方法,这篇文章所使用的数据源、数据集、参数设置都与方案1中的一样,主要区别在于我们引入了列表的分组能力,而不再使用表格的分组功能。

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




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

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


然后选择Excel数据源类型


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

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


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


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



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


数据集名称:订单信息
查询语句:
  1. select * from 订单 where 订单编号 in @订单编号
复制代码


查询参数:订单编号



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

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



数据集名称:订单明细
查询语句:
  1. select * from 订单明细 where 订单编号 =@订单编号
复制代码

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


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

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


第4步,添加列表组件,并添加分组条件
从左侧工具箱找到列表组件,点击添加到设计界面。
然后在属性窗口中为列表设置下图中的【数据集名称】、【分组条件】和【换页方式】属性。
image.png821656188.png


第5步,添加两个表格,分别绑定【订单信息】和【商品列表】数据集
首先,我们添加一个表格用于显示【订单信息】数据集的数据,需要注意的是,该表格包含一行标题和三行明细(通过鼠标右键添加)。

image.png786368102.png


接着,按照同样的方法添加另外一个表格,该表格将用于显示【订单明细】数据集中的数据,对应的报表结构和数据绑定关系如下图:
image.png519320678.png

最后,我们将两个表格都拖拽到列表组件中
image.png248980101.png

第6步,为商品列表表格添加【数据过滤条件】
这个报表中,列表和订单信息表格使用的是同一个数据集,所以不用设置数据过滤条件,
但是,商品列表表格与列表使用了不同的数据集,所以,我们为商品列表表格按下图方法添加数据过滤条件,这样每笔订单就只会加载该订单中的商品。
image.png440466308.png


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



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

通过以上的操作步骤呢,我们同样实现了一次性的查询多笔订单的信息。




0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部