制作带参数模板的行式填报表

阅读(5059) 标签: 参数表单,

整进整出,可以针对一个完整的数据表,也可以减小粒度,只查询部分数据,对部分数据进行整进整出。比如家庭成员表,不需要把所有人的家庭成员都一次性的显示出来,可以通过参数表单只查询某一个人的家庭成员,对这一个人的家庭成员数据进行整进整出。

下面我们来做一个行式填报表和配合行式填报表的参数模板,制作步骤如下:

第一步:设计行式填报表

打开润乾报表设计器,启动示例数据库,连接demo数据源

再点击【文件】à【新建行式填报】

出现行式填报向导对话框,

“模式名”下拉框中选择“DEMO”模式。

“数据表”下拉框中选择“家庭成员表”,下边字段列表框中自动列出“家庭成员表”的所有字段及字段类型。

在字段列表框选择主键“员工编号”和“姓名”,并选出全部字段。

配置检索条件:

 

配置参数:

点击【确定】按钮系统自动配置数据来源、数据去向与保存对象的旧数据,并自动生成行式填报表

数据来源:

数据去向:

保存对象的旧数据:

行式填报表如下图:

为了使填报表内容美观,编辑报表样式,保存填报表文件为4.2.sht,报表内容如下:

 

A2B2C2D2E2A3B3C3D3E3为数值格。

A2B2C2D2E2A3B3C3D3E3默认字段名为其上普通格内容。

数据区数据取自对象家庭成员表。

第二步:设置参数

点击【填报】à【参数】,打开参数编辑界面。添加参数arg1,设置缺省值为1WEB预览时系统会按照tag的参数值àsht的参数值的顺序查找参数值,并且忽略空值。

这里定义的参数,可以在填报表的维度格,取数dfx或者脚本,回填dfx或者脚本中直接引用,dfx中不用重复定义

第三步:设置单元格属性

选中A2单元格,在属性列表 “缺省值表达式”中输入arg1WEB预览后在插入或者添加行时系统自动给员工编号列填入缺省值,缺省值为arg1的参数值。

第四步:设置单元格校验

为了防止填报时修改了错误的员工编号,我们给员工编号列设置单元格校验。

选中A2单元格,单击主菜单中的【填报】à【单元格校验】,打开单元格校验对话框,在校验中增加一条校验表达式,如下图所示:

WEB预览后,填报区修改了错误的员工编号,提交时系统会弹出javascript提示框,提示用户输入的数据有误,如下图所示:

第五步:设计参数模板

填报表参数可以通过外部传入,最简单实用的办法是通过润乾报表设计器来设计参数模板,使用参数模板来接受并引入数据。参数模板的设计与使用和普通报表相同,下面我们来做一个配合例4.2.sht的参数模板。

1)点击工具菜单上的【文件】à【新建报表】,如图:打开新建向导对话框,选择“参数模板”,再点【生成空白报表】按钮生成一张参数模板,如图所示:

2)在B1单元格中输入“编号:”,设置单元格内容为靠右对齐,在C1单元格中输入“1”,设置单元格内容为居中,删除多余行列。如下图所示:

3)选择C1单元格,在右边属性列表中展开“WEB”,设置它的【变量名】属性为:arg1,即对应前面我们做的填报表中的参数“arg1”。如图所示:

4)将文件保存为4.2_arg.rpx4.2.sht同目录,这样一张参数模板就做好了,如图所示:

第六步:将填报表和参数模板结合起来一起在WEB端预览

点击WEB预览按钮,服务器自动启动,系统自动加载参数模板。填报表WEB预览效果如下图所示:

注:demo中直接发布参数填报表时,需要将参数模板命名为_arg.rpx,但是用户自己开发的应用,命名就不需要按照此规则了,可随意命名。

 

在用户自己开发的应用中发布带参数模板的填报表,与发布带参数模板的普通报表一样,参数模板需要利用参数模板的tag进行发布,其自动与结果页面的填报表关联。因此,比较简单的做法是把参数模板tag和结果填报表tag写到一个页面里。如下所示:

 

<report:param name="form1" paramFileName="4.2_arg.rpx" />  //参数模板tag,参数表单名称命名无要求

<raqsoft:input id="sg1"  //id为填报表id

src="4.2.sht"  //src为填报表路径文件名,可以是相对路径,也可以是绝对路径。相对路径在设计器中,是相对于【填报】-【选项】-【文件】中的【应用资源路径】;独立部署时,是相对于【web应用根目录】/WEB-INF/raqsoftConfig.xml Input里配置的home配置路径

/>

行式填报向导只适合使用数据库单表制作行式填报表的情况。如果混合格式填报表中有行式填报,行式填报部分只能手动设计,例如6.1.sht中的行式填报部分。