finereport的筛选器怎么能筛选计算字段呢

image.png

举一个简单的例子,A和B列是数据集出来的,C是公式算出来的,那上边筛选器的部分如何控制来筛选C列呢?

FineReport 用户t0665173 发布于 2023-11-24 11:55
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
snrtuemcLv8专家互助
发布于2023-11-24 13:28

这个其实就是条件属性显示隐藏行

看demo

WorkBook694.rar

image.png

效果

image.pngimage.png

  • 用户t0665173 用户t0665173(提问者) 想追问一句,这个能实现“不选等于全选”的功能吗,就是上边的筛选器空着的时候能看全部数据
    2023-11-24 13:59 
  • snrtuemc snrtuemc 回复 用户t0665173(提问者) 可以,增加个判断,其他都不变,隐藏行的公式改下,改成下面格式,if(len($fl)>0,find($$$,$fl)=0,1=2)
    2023-11-24 14:03 
最佳回答
0
用户k6280494Lv6资深互助
发布于2023-11-24 11:58
  • 用户t0665173 用户t0665173(提问者) 我这个不是SQL数据集里边的字段,所以没有办法通过SQL来添加参数。是在report模板里边写出来的
    2023-11-24 12:01 
最佳回答
0
CT1448Lv5中级互助
发布于2023-11-24 11:59(编辑于 2023-11-24 12:20)

select '' as 姓名,'' as 年龄,

(case when 年龄<10 then '儿童' 

when ... end) as 年龄分类 from dual

where 1=1 

${if(len(年龄分类)=0,"","and 年龄分类 in ('" + 年龄分类 + "'")}

  • 用户t0665173 用户t0665173(提问者) 我想筛选器来筛选“年龄分类”这个字段,而这个字段是通过report页面计算出来的
    2023-11-24 12:03 
  • CT1448 CT1448 回复 用户t0665173(提问者) 地区哪来的?
    2023-11-24 12:04 
  • CT1448 CT1448 回复 用户t0665173(提问者) 你是想筛选儿童,把年龄分类的筛出来?
    2023-11-24 12:06 
  • 用户t0665173 用户t0665173(提问者) 回复 CT1448 没有地区,我上边的图忘了改名字了,筛选器就是筛选年龄分列,比如有“儿童”,“青年”,“成年”。而下边表格对应的“年龄分类”这个字段,是公式算出来的
    2023-11-24 12:08 
  • 用户t0665173 用户t0665173(提问者) 回复 CT1448 对的就是这个意思
    2023-11-24 12:09 
  • 4关注人数
  • 239浏览人数
  • 最后回答于:2023-11-24 13:28
    请选择关闭问题的原因
    确定 取消
    返回顶部