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


    (一)背景介绍

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

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




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


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


    然后选择Excel数据源类型


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

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


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


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


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


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

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



    查询参数:订单编号



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

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



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

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


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


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

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


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



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




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


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


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



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



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


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

  • 相关阅读:
    commons-logging.jar 和 log4j.jar 的关系
    百钱买百鸡
    reflect
    golang结构体、接口、反射
    golang文件操作
    sqlx使用说明
    go example
    goroutine
    生成二维码
    method&interface
  • 原文地址:https://www.cnblogs.com/edoo/p/13501998.html
Copyright © 2020-2023  润新知