行式填报

1.1 案例说明

行式填报也被称为台帐式填报,即将多行数据本例实现的功能是向内置数据库中的“订单明细”表中填写数据,该表包含的字段为:产品ID、订单ID、数量、单价、折扣,其中产品ID字段数据来自“产品表”中的产品ID 字段数据。

1.2 操作步骤

1.2.1 创建填报报表

按照填报教程 简单填报报表制作1.2.1,创建一张空白的填报报表。

1.2.2 创建数据集

单击【摘要】视图中的按钮,弹出【新建数据集】对话框后,填写名称、选择数据源名称,选择类型,这里选择“SQL语句”,单击【下一步】,填写sql语句,本例中用到两个数据表“订单明细”表和“产品”表,所建数据集sql分别编辑为:

ds:  SELECT 订单明细.产品ID,订单明细.单价,订单明细.折扣,订单明细.数量,订单明细.订单ID FROM 订单明细
ds1: select 产品ID,产品名称 from 产品.
1.2.3 设计表样式

先建好如下图表样:

然后选中A4单元格(此单元格作为循环列出所需扩 展空行数,本例中设为3行),设置扩展属性为:纵向扩展,数据值为:=uuid();

选择第4行,设置右侧的属性栏中的【允许添加行】和【允许删除行】的属性。

点击A4单元格属性新增行填充策略,选择这里选择使用UUID填充。

 

选中【A0】查看右侧属性栏,修改【允许强制提交】,选择“是”,这样我们在提交数据的时候,就可以强制性提交了。

选中B4单元格,控件类型选择【下拉框】,数据类型设为整数(注意:这里要与数据表中字段的数据类型保持一致),可选值设置如下图:

选中C4单元格,控件类型选择【文本框】,数据类型设为整数,验证设置如下图:

选中D4单元格,控件类型选择【文本框】,数据类型设为整数;

然后分别选中E4、F4单元格,并设置控件类型选择【文本框】,数据类型设为浮点数,G4单元格的数据值为“=D4*E4”,属性设置为如图:

选中F5单元格,控件类型设为【文本框】,数据类型设为浮点数,自动计算属性表达式设为:= sum(G4{}),因为该数据自动运算,所以此单元格只读属性也设置为:是。

这样报表样式就完成如图:

1.2.4 填报处理设置

单击工具条中的按钮,弹出填报处理设置对话框,本案例选用默认的【设置填报操作】,点击【新建填报操作集】按钮,新建填报操作,填报操作名称为“tianbao”,数据源为内置数据源,单击【下一步】按钮弹出对话框选择数据库表----“订单明细”表,

单击【下一步】,进入“设置填报字段”对话框,根据自己设置的“填报单元格”,将其对应的填到表格中,如图:

单击【完成】,完成填报设置操作,这张填报报表也就完成了。之后就可以发布预览了,发布效果了。

3发布

将做好的报表模板拷贝到皕杰报表服务器的web应用目录的WEB-INF\reports文件里,这里服务器以demoserver为例,启动demoserver服务器,在浏览器地址栏输入:http://localhost:8080/report,进入报表首页,然后单击我们创建的报表,进入报表页面,如图:

输入数量,单价之后,销售额会自动计算结果,并汇总出合计值。如图:

在添加信息时如果在订单ID中填入非整数数值,会提示错误信息。如图:

在信息填完单元格时,如果还有信息没有输入,可以选择一行单元格,然后再点击工具条上的【】按钮添加一行空单元格。新增行里也出现新的UUID。如图所示:

如果添加单元格时,添加的行数太多,可以点击想要的删除行,再点击【】按钮删除行。如图所示:

信息填写完成后,如果输入的信息未通过验证,还想提交的话,可以选择强制性提交。点击【】按钮会弹出一个对话框。选择【是】,信息就强制性提交了。如图所示: