复选按钮控件如何实现在勾选时的值是1,不勾选时不参与SQL的查询

复选按钮控件如何实现在勾选时的值是1,不勾选时不参与SQL的查询。

比如:复选框按钮【基本药物】, 我在勾选后,查询的是【基本药物】,不勾选直接查询的话就是所有的药物列表

FineReport ZcyMrLTJ 发布于 2021-12-27 11:20 (编辑于 2021-12-27 17:53)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
1
CasaLv6初级互助
发布于2021-12-27 20:58

您好~如果我的回答对您有帮助的话,可否给小弟一个最佳回答呢~

【结论】下拉复选框参数为空选择全部,有两种实现方法:1.通过模板参数实现2.通过数据集参数实现。

下文主要介绍第二种方法

【效果】不勾选产品名直接查询,结果显示所有的产品名。

image.png

勾选产品名进行查询,结果显示对应的产品名。(被挡住的是牛奶!)

image.png

【方法】第一步:在sql语句中,使用条件语句。具体释义如下:

①where 1=1 表示条件永真,防止出错

②if(条件,结果1,结果2)表示符合条件时,结果是1,否则为2。

③len(产品名)==0 表示参数 “产品名” 为空。

④"and 产品名='"+产品名+"'"      第二个产品名表示取参数值,'+' 为字符串拼接符号。第一个产品名是数据表中原有的字段名称。这个模板使用了重名,不要混淆。这个是在数据表中,取出参数对应字段的数据。

image.png

第二步:设置下下拉复选框的选项,要设置成对应的字段。在这个举例里就是产品名。下边再设置下返回类型和分隔符,这样才能作为彼此不干扰的查询条件。

image.png

第三步:勾不勾这个,看心情

image.png

【模板】由FR10.0制作

下拉复选框参数为空选择全部.zip

【参阅】

下拉复选框参数为空选择全部  https://help.fanruan.com/finereport10.0/doc-view-2395.html

最佳回答
0
CD20160914Lv8专家互助
发布于2021-12-27 11:21(编辑于 2021-12-27 15:58)

sql语句

where 1=1

${if(len(cs)=0,"","and a.表中字段名称 in('"+ cs + "')")} 

复选框的分隔符号设置为

image.png

药品使用动态查询.rar

  • ZcyMrLTJ ZcyMrLTJ(提问者) 不是下拉框,是勾选的那种
    2021-12-27 15:15 
  • CD20160914 CD20160914 回复 ZcyMrLTJ(提问者) 模板上传上来。。。
    2021-12-27 15:17 
  • ZcyMrLTJ ZcyMrLTJ(提问者) 回复 CD20160914 已传
    2021-12-27 15:49 
  • CD20160914 CD20160914 回复 ZcyMrLTJ(提问者) 你的sql语句什么都看不到。。你这样设置完全是每个独立的。药品属性,和后面的完全没有关系了呢。复选的要设置一个名称。你的全是独立的哪里能够关联起来。看我更新的文档吧。这样设置
    2021-12-27 15:57 
  • ZcyMrLTJ ZcyMrLTJ(提问者) 回复 CD20160914 我把SQL写好了,你看下呢
    2021-12-27 17:14 
  • 4关注人数
  • 748浏览人数
  • 最后回答于:2021-12-27 20:58
    请选择关闭问题的原因
    确定 取消
    返回顶部