【FineReport】下拉框与下拉复选框之间参数联动

描述

1,CLASSNO下拉框可以选择班级,STUDENTNO复选框可以选择该班级的学生,可全选或者不选。
2,当不选CLASSNO时,复选框可显示全部学生,可全选或不选。
在这里插入图片描述
在这里插入图片描述

实现

Demo 使用FineRepor自带的数据表:Stscore表
1,创建数据集,创建两个数据集:
第一个数据集查询所有字段。

SELECT * FROM STSCORE

第二个数据集控制筛选的STUDENTNO。
当CLASSNO为空时,Where 1=1,查询所有STUDENTNO。
当CLASSNO不为空时,筛选相应CLASSNO的STUDENTNO。

SELECT STUDENTNO FROM STSCORE 
where 1=1
${if(len(CLASSNO) == 0,"","and CLASSNO = '" + CLASSNO + "'")}

在这里插入图片描述
2,创建模板参数:STUDENTNO,第二个数据集已经创建了参数CLASSNO。将两个参数添加到参数面板,CLASSNO使用下拉框控件,STUDENTNO使用下拉复选框控件。如下图:
在这里插入图片描述
3,对控件绑定数据,
CLASSNO直接与Stscore进行绑定
在这里插入图片描述
STUDENTNO与STUDENTNO数据集进行绑定

在这里插入图片描述
4,表样设计,单元格数据过滤
表样设计如图
在这里插入图片描述
对A1单元格过滤,用CLASSNO过滤。
在这里插入图片描述
对A4单元格的形态做修改,实际值是STUDENTNO,显示值是NAME。
在这里插入图片描述
对A4单元格进行过滤,使用包含于STUDENTNO。
在这里插入图片描述

效果

在这里插入图片描述

实现的方式应该不止一种,有更好的方法,可以互相分享。

Logo

助力广东及东莞地区开发者,代码托管、在线学习与竞赛、技术交流与分享、资源共享、职业发展,成为松山湖开发者首选的工作与学习平台

更多推荐