找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,极速登录

如何设置复选框控件来筛选查询数据,如图,跪求!!!!!!!!

QSCCZT$R5T0S4@E9`@06HJD.png6AK0{@7IUZ6Z)IGG$SC$TMN.png

FineReport用户D1257319 发布于 2021-1-13 21:35 (编辑于 2021-1-13 21:39)
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
1
snrtuemcLv5高级互助
发布于2021-1-14 07:58

直接数据集写sql啊,

select * from 表 where 1=1
${if(len(是否启用控件名称)==0,"",if(是否启用控件名称=="true","and 是否启用='是'","and 是否启用='否'"))}
${if(len(实习生控件名称)==0,"",if(实习生控件名称=="true","and 实习生='是'","and 实习生='否'"))}


  • 用户D1257319 用户D1257319(提问者) Unknown column \'是否启用\' in \'where clause\'
    2021-01-14 15:37 
  • snrtuemc snrtuemc 回复 用户D1257319(提问者) 是否启用 改成你自己数据的字段啊
    2021-01-14 15:39 
  • 用户D1257319 用户D1257319(提问者) 回复 snrtuemc with ygzt_BaseData as(select dict_code,dict_val from sys_dict where dict_type_id=\'23F97CD5C89C4FF88476A53C2F3B7A9C\') select row_number() over (order by ygbh) as 序号, a.ssbmName_ 部门,a.ygbh 员工号,a.xm 姓名, a.xb 性别,if(a.sfcpa=\'Y\',\'是\',\'否\') as 是否CPA, case when a.ygbh like \'E030%\' then \'是\' else \'否\' end as 是否实习生, case when d.ALLOW_PC_LOGIN=\'0\'then \'是\' else \'否\' end as 是否PC端登录, case when a.sfqy=\'Y\' then \'是\' else \'否\' end as 是否启用 from fd_ygda a,(select @rowno:=0) b,ygzt_BaseData c,isc_user d where 1=1 ${if(len(启用)==0,\"\",if(启用==\"true\",\" and a.sfqy=\'Y\'\",\" and a.sfqy=\'N\'\"))} ${if(len(实习生)==0,\"\",if(实习生==\"true\",\" and a.ygbh like \'E030%\'\",\"\"))} ${if(len(PC端登录)==0,\"\",if(PC端登录==\"true\",\" and d.ALLOW_PC_LOGIN=\'0\'\",\" and d.ALLOW_PC_LOGIN=\'1\'\"))} ${if(len(CPA)==0,\"\",if(CPA==\"true\",\"and a.sfcpa=\'Y\'\",\"and a.sfcpa=\'N\'\"))} and a.ygzt=c.dict_code and a.DR=\'N\' and a.id=d.USER_ID and a.dlyh=\'Y\' and d.ALLOW_MOBILE_LOGIN=\'0\' and d.ALLOW_PC_LOGIN=\'0\' and a.data_dept_code like concat(report_get_convert_dept_code(\'${in_dept_code}\'),\'%\') and concat(a.ygbh,a.xm) like concat(\'%\',trim(\'${in_ygXmName}\'),\'%\') order by ygbh;
    2021-01-14 16:11 
  • 用户D1257319 用户D1257319(提问者) 默认四个条件都不勾选 显示全部内容 勾选时 为ture 不勾选又显示全部 ,现在是不勾选时显示的时等于fasle 怎么来实现 不勾选复选框显示全部内容
    2021-01-14 17:35 
  • 用户D1257319 用户D1257319(提问者) 是不是改成这样 select * from 表 where 1=1 ${if(len(是否启用控件名称)==0,\"\",if(是否启用控件名称==\"true\",\"and 是否启用=\'是\'\",\"\"))}
    2021-01-14 17:37 
最佳回答
1
axingLv6资深互助
发布于2021-1-14 09:41

复选框只有true和false两种情况,没有为空的情况

应该将条件改为

where 1=1
and 是否CPA字段='${if(CPA,"是","否")}'
and 是否PC端登录字段='${if(PC端登录,"是","否")}'
and 是否实习生字段='${if(实习生,"是","否")}'
and 是否启用字段='${if(启用,"是","否")}'


  • 4关注人数
  • 82浏览人数
  • 最后回答于:2021-1-14 09:41
    请选择关闭问题的原因
    确定 取消

    联系管理员@饭团君|联系帆软|《帆软社区协议》|手机版|帆软社区|Copyright © 帆软软件有限公司 ( 苏ICP备18065767号-7 )

    GMT+8, 2021-1-26 10:19 , Processed in 0.375060 second(s), 54 queries , Gzip On.

    返回顶部