整进整出,可以针对一个完整的数据表,也可以减小粒度,只查询部分数据,对部分数据进行整进整出。比如家庭成员表,不需要把所有人的家庭成员都一次性的显示出来,可以通过参数表单只查询某一个人的家庭成员,对这一个人的家庭成员数据进行整进整出。
2.1.sht例子为手动设计的行式填报表,除此之外我们还可以使用行式填报向导快速生成行式填报表。制作步骤如下:
打开润乾报表设计器,启动示例数据库,连接demo数据源。
再点击【文件】->【新建行式填报】
出现行式填报向导对话框,
“模式名”下拉框中选择“DEMO”模式。
“数据表”下拉框中选择“家庭成员表”,下边字段列表框中自动列出“家庭成员表”的所有字段及字段类型。
在字段列表框选择主键“员工编号”和“姓名”,并选出全部字段。
点击【确定】按钮,系统自动生成行式填报表。
行式填报表如下图:
点击【填报】->【数据处理】,数据来源使用【多源SQL类型】,配置如下图:
配置检索条件:
配置参数:
数据来源配置完成后,自动配置数据去向与保存对象的旧数据。
为了使填报表内容美观,编辑报表样式,保存填报表文件为2.2.sht,报表内容如下:
A2、B2、C2、D2、E2、A3、B3、C3、D3和E3为数值格。
A2、B2、C2、D2、E2、A3、B3、C3、D3和E3默认字段名为其上普通格内容。
数据区数据取自对象家庭成员表。
第二步:设置参数
点击【填报】->【参数】,打开参数编辑界面。添加参数arg1,设置缺省值为1。WEB预览时系统会按照tag的参数值-》sht的参数值-》多源SQL的参数值的顺序查找参数值,并且忽略空值。
这里定义的参数,可以在填报表的维度格,并且要与数据来源中的多源SQL中定义的参数名称一致。
第三步:设置单元格属性
选中A2单元格,在属性列表 “缺省值表达式”中输入arg1。WEB预览后在插入或者添加行时系统自动给员工编号列填入缺省值,缺省值为arg1的参数值。
第四步:设置单元格校验
为了防止填报时修改了错误的员工编号,我们给员工编号列设置单元格校验。
选中A2单元格,单击主菜单中的【填报】->【单元格校验】,打开单元格校验对话框,在校验中增加一条校验表达式,如下图所示:
WEB预览后,填报区修改了错误的员工编号,提交时系统会弹出javascript提示框,提示用户输入的数据有误,如下图所示:
第五步:设计参数模版
填报表参数可以通过外部传入,最简单实用的办法是通过润乾报表设计器来设计参数模版,使用参数模版来接受并引入数据。参数模板的设计与使用和普通报表相同,下面我们来做一个配合例2.2.sht的参数模版。
(1)点击工具菜单上的【文件】->【新建报表】,如图:打开新建向导对话框,选择“参数模板”,再点【生成空白报表】按钮生成一张参数模板,如图所示:
(2)在B1单元格中输入“编号:”,设置单元格内容为靠右对齐,在C1单元格中输入“1”,设置单元格内容为居中,删除多余行列。如下图所示:
(3)选择C1单元格,在右边属性列表中展开“WEB”,设置它的【变量名】属性为:arg1,即对应前面我们做的填报表中的参数“arg1”。如图所示:
(4)将文件保存为2.2_arg.rpx跟2.2.sht同目录,这样一张参数模板就做好了,如图所示:
第六步:将填报表和参数模板结合起来一起在WEB端预览
启动示例数据库,打开2.2.sht,点击WEB预览按钮,服务器自动启动,系统自动加载参数模版。填报表web预览效果如下图所示:
在用户自己开发的应用中发布带参数表单的填报表,与发布带参数表单的普通报表一样,参数模板需要利用参数模板的tag进行发布,其自动与结果页面的报表关联。因此,比较简单的做法是把参数模板tag和结果报表tag写到一个页面里。如下所示:
<report:param name="form1" paramFileName="2.2_arg.rpx" /> //参数模板tag,参数表单名称命名无要求
<raqsoft:input id="sg1" //id为填报表id
src="2.2.sht" //src为填报表路径文件名,可以是相对路径,也可以是绝对路径,相对路径则相对于配置文件raqsoftConfig.xml中的报表应用资源路径。
/>