多源填报即同时将信息录入不同的多个表中。本例要实现的功能是在行式填报的基础上,同时将数据分别录入到内置数据库的“订单”表和“订单明细”表中。
按照填报教程,创建一张空白的填报报表。
单击【摘要】视图中的按钮,弹出【新建数据集】对话框后,填写名称、选择数据源名称,选择类型,这里选择“SQL语句”,单击【下一步】,填写sql语句,本例中需要用到四个数据集,来自内置数据库中的订单、订单明细、产品、运货商四个表,数据集编辑查询sql分别为
ds: SELECT DISTINCT 订单.订单ID,订单.客户ID,订单.发货日期,订单.到货日期,订单.货主名称,订单.运货商,订单.运货费,订单.货主城市 FROM 订单 where 订单ID>10388 and 订单ID<10488 ds1:SELECT 订单明细.产品ID,订单明细.单价,订单明细.折扣,订单明细.数量,订单明细.订单ID FROM 订单明细 ds2:select 产品ID,产品名称 from 产品 ds3: select * from 运货商
先建好如下图表样:
单元格B2、B3控件类型设为【文本框】,数据类型设置为“整数”,校验设置,不为空设置;
单元格F3、F4控件类型设为【文本框】,数据类型设置为“字符串”;
单元格D2、F2控件类型设为【日期】,数据类型为“日期”,日期时间格式设置为“=’yyyy-MM-dd’”;
单元格B4控件类型设为【下拉框】,数据类型为“整数”,可选值设置如图:
单元格A7的数据值设为:=list(1,2,3,4),扩展方向设为纵向扩展;
单元格B7控件类型设置为下拉框,数据类型设为:“字符串”,可选值设置如图:
单元格C7、D7、E7、F7控件类型设为【文本框】,其中D7数据类型设置为“整数”,C7、E7、F7数据类型设置为“浮点型”;F7的只读属性为“是”,自动计算为:=D7*C7;
选择第7行,设置右侧的属性栏中的【允许添加行】和【允许删除行】的属性。
单击工具条中的按钮,弹出填报处理设置对话框,本案例选用默认的【设置填报操作】,点击【新建填报操作集】按钮,新建填报操作,填报操作名称为“提交订单表”,数据源为内置数据源,单击【下一步】按钮弹出对话框选择数据库表----“订单”表,
单击【下一步】,进入“设置填报字段”对话框,根据自己设置的“填报单元格”,将其对应的填到表格中,如图:
再添加一个填报操作:填报操作名称为“订单明细表”,数据源为内置数据源,单击【下一步】按钮弹出对话框选择数据库表----“订单明细”表,
单击【下一步】,进入“设置填报字段”对话框,根据自己设置的“填报单元格”,将其对应的填到表格中,如图:
点击确定,填报设置就设计完成了。
将做好的报表模板拷贝到皕杰报表服务器的web应用目录的WEB-INF\reports文件里,这里服务器以demoserver为例,启动demoserver服务器,在浏览器地址栏输入:http://localhost:8080/report,进入报表首页,然后单击我们创建的报表,进入报表页面,如图: