帆软FineReport决策报表Tab实现方案

本文介绍了如何利用帆软FineReport实现首页Tab页切换,包括利用其自带的Tab控件和自定义按钮两种方案。自定义按钮允许更灵活的布局和样式调整,满足不同需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近有个需求是要做首页展示,为了减少前端工作量,利用采购的帆软FineReport来实现,记录过程,方便备查。

需求

做个Tab页,实现多个页切换。

方案一、利用帆软自带切换

帆软自带的有Tab控件,可实现切换,但样式似乎有点丑。从编辑栏,拖动Table块到编辑区。
在这里插入图片描述
选中Table的主体区域,点击右上角的加号,即可添加table页签。
在这里插入图片描述
点击预览,在浏览器中查看默认效果。
在这里插入图片描述

选中Tabpane 面板,在右侧模式模版可选择不同的样式,如卡片式、书签式、菜单式等。
在这里插入图片描述
效果如下图所示。该实现方案虽能调整Table页签按钮的位置,如靠右排列,并非水平居右。
在这里插入图片描述

方案二、自定义按钮切换
第一步、添加表格控件

添加报表控件作为按钮的载体,即在报表的表格中添加按钮。在相应的区域,输入文字作为按钮的名字。
在这里插入图片描述
点击 文字 添加 JavaScript脚本,即编写获取控件的事件。
在这里插入图片描述
原理:获取tableplane的控件,利用 showCardByIndex方法控制其显示,注意其从0开始,即0表示第一个页签。分别对三个按钮添加事件,如第一个页签 按订单按钮 添加的内容如下所示。

_g().getWidgetByName("tabpane0").showCardByIndex(0);

预览后,点击对应的按钮,下方自带的Table页签会跟着变动。
在这里插入图片描述
原有页签的隐藏,只需选中 tablepane控件,在右侧 修改控件大小为0即可。
在这里插入图片描述
页面预览,原有的页签便已经隐藏。报表控件的位置可以根据需要自由移动,弥补自带的页签无法右对齐的缺点。
在这里插入图片描述
以上即两种Table页签的实现方式,根据不同的需要使用即可。

<think>嗯,用户问的是如何在FineReport实现报表查询结果的筛选功能。首先我需要回忆一下之前学过的相关知识,特别是参考提供的引用内容。引用[2]提到的是制作带筛选按钮的报表和图表,里面涉及到了模板参数、下拉框控件、数据字典和过滤条件设置。这些应该都是实现筛选功能的关键步骤。 首先,用户可能需要先连接数据库,然后新建一个普通报表。接下来要创建数据集,可能通过SQL查询获数据。然后设置模板参数,比如添加一个参数比如“地区”,然后绑定到下拉框控件,这样用户就可以选择不同的地区来筛选数据。数据字典的设置也很重要,这样下拉框才能显示正确的选项。之后,在数据集里设置过滤条件,把控件选择的参数传递给查询条件,这样报表数据就会根据用户的选择动态过滤了。引用[2]里的步骤4到步骤21详细说明了这些过程,特别是步骤14到21关于参数和过滤条件的设置。 另外,用户可能需要了解如何将这些参数应用到图表上,比如柱形图的数据也需要根据筛选条件动态变化。这时候需要确保图表的数据集和表格使用的是同一个参数,并且父子格设置正确,避免扩展方向的问题。预览的时候,用户选择不同的参数报表和图表都应该实时更新显示对应的数据。 可能还需要考虑多个参数的组合筛选,比如同时选择地区和产品类别。这时候需要在模板参数中添加多个参数,并在数据集的过滤条件中使用多个条件,用AND或者OR连接。同时,下拉框控件的数据字典也要对应不同的字段。 用户可能遇到的问题包括参数绑定不正确导致筛选失效,或者数据字典没有正确配置导致下拉框选项为空。这时候需要检查参数名称是否一致,数据字典是否选择了正确的数据库表和字段,以及过滤条件中的字段是否匹配。 总之,步骤应该是:创建参数、绑定控件、设置数据字典、配置过滤条件,最后预览测试。确保每一步都正确无误,参数传递和过滤条件生效,就能实现查询结果的筛选功能了。</think>在FineReport实现报表查询结果的筛选功能,主要通过**模板参数**和**控件联动**实现。以下是具体操作步骤及原理: --- ### 一、基础筛选功能实现 1. **新建模板参数** - 进入菜单栏:`模板 > 模板参数`,添加参数(如`region`)[^2] - 设置参数默认(可选)或留空实现动态筛选 2. **绑定下拉框控件** ```python # 类似逻辑(非实际代码) # 控件类型=下拉框,数据字典绑定数据库字段 Dropdown(name="地区选择", bind_param="region", dataDict="SELECT DISTINCT 地区 FROM 销售表") ``` - 控件数据字典需选择对应数据库表的字段 3. **设置数据集过滤** ```sql -- 原始数据集SQL SELECT * FROM 销售表 WHERE 1=1 ${if(len(region)==0,""," AND 地区='"+region+"'")} ``` - 通过参数动态拼接WHERE条件 --- ### 二、进阶筛选功能 1. **多条件组合筛选** - 添加多个模板参数(如`product`,`date_range`) - 控件组合使用:下拉框、日期控件、复选框等 - SQL条件示例: ```sql WHERE 产品 IN (${product}) AND 日期 BETWEEN ${date_range[0]} AND ${date_range[1]} ``` 2. **图表联动筛选** - 在图表属性中绑定相同模板参数 - 设置`图表数据 > 过滤`,使用参数过滤系列数据 --- ### 三、关键配置验证点 | 配置项 | 检查要点 | 常见问题处理 | |--------------|-----------------------------------|---------------------------| | 模板参数 | 参数名是否与SQL条件中的变量一致 | 大小写敏感问题 | | 控件数据字典 | 是否指向正确的数据库表/字段 | 未设置「实际」导致传错误 | | 过滤条件 | 是否包含参数引用的`${}`符号 | SQL语法错误 | | 父子格设置 | 扩展方向是否冲突(尤其图表部分) | 数据重复或丢失 | --- ### 四、操作示例(含关键截图) 1. 参数面板设计 ![参数面板](https://dummyimage.com/600x400/000/fff&text=参数面板示例) *通过拖拽控件到参数面板区实现布局[^2]* 2. 数据字典配置 ![数据字典](https://dummyimage.com/600x400/000/fff&text=数据字典配置) *需同时设置「实际」和「显示」[^2]* ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值