在FineReport中,可通过自定义方式实现条件表单界面,避免依赖系统内置参数。本文将介绍如何在FineReport中创建自定义参数界面,帮助用户灵活设置查询条件,提升报表交互性与实用性,满足多样化数据展示需求。
1、 以HTML网页为例进行简要说明,最终呈现效果如下所示。
2、 打开位于 %FR_HOME%WebReportWEB-INFreportletsdemoparameterNumber.cpt 的模板文件。

3、 进入参数界面,点击左上角设置,取消勾选显示参数窗体和点击查询前不显示报表内容两项。

4、 将模板另存为 %FR_HOME%WebReportWEB-INFreportletsdemoparameterNumber1.cpt 文件,确保路径正确,以便后续调用和参数设置正常运行。
5、 自定义表单页面
6、 由于实际系统所用框架各异,控件类型与定义方式也各不相同,因此图中所示的表单查询界面不再详述,由用户自行实现,本例仅采用最基础的HTML元素。
7、 需重点关注表单的提交地址action及结果显示的目标位置target设置。
8、 在定义表单时若未指定action,其target值应设置为嵌入报表的iframe名称。
9、 点击查询按钮时,需先获取控件值并进行cjkEncode编码,因此按钮类型应设为button,而非submit,以避免直接触发表单提交动作,确保编码处理逻辑能够正常执行。

10、 提交表单触发事件
11、 点击查询按钮后,调用autoSubmit()方法,通过Javascript获取表单控件的值,拼接成完整的报表访问路径,并对生成的URL进行CJK编码处理。
12、 将生成报表的链接赋值给表单的提交地址,提交后,报表内容将在预设的iframe页面中展示。

13、 示例代码完整呈现

14、 已成功访问页面 %FR_HOME%WebReport|page_demoparameter.html 并完成查看。