复选框组合查询,求助

复选框a区域,复选框b城市,选a后b会出现对应的城市,a不选,单独选b也能出来数据

FineReport yzmZFHiy5062093 发布于 2022-9-23 12:18
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
CD20160914Lv8专家互助
发布于2022-9-23 12:30(编辑于 2022-9-23 13:36)

你的B所用的数据集有没有设置好A的区域?(记得要多个数据集,不要只有一个数据集,参考下面文档

SQL语句实现下拉复选框参数联动- FineReport帮助文档 - 全面的报表使用教程和学习资料 (fanruan.com)

ds1数据集:不变

类似下面这样

select 省 from 省市表

where 1=1

group by 省

ds2数据集就是B那个选项的下拉框

select 市 from 省市表

where 1=1

${if(len(省)=0,"","and sheng_name in('"+ 省 + "')")}

group by 市

  • yzmZFHiy5062093 yzmZFHiy5062093(提问者) 这个只解决了b依赖a的关系,单独选b的时候控件值是空的
    2022-09-23 12:57 
  • CD20160914 CD20160914 回复 yzmZFHiy5062093(提问者) 那你可以判断一下。看上面。。
    2022-09-23 13:35 
最佳回答
0
用户k6280494Lv6资深互助
发布于2022-9-23 13:31(编辑于 2022-9-23 13:32)

A数据集查所有区域

B数据集查询城市,不选区域时查询所有城市,选择区域后查询区域内城市

${if(len(a)>0,"where 区域字段 ='"+a+"'","")}

在报表数据集中

where 1=1

${if(len(a)>0,"and 区域字段 ='"+a+"'","")}

${if(len(b)>0,"and 城市字段 ='"+b+"'","")}

  • 2关注人数
  • 254浏览人数
  • 最后回答于:2022-9-23 13:36
    请选择关闭问题的原因
    确定 取消
    返回顶部