我做了一个表,然后做了一个下拉菜单的查询按钮,通过表中某列的值来筛选显示,但是筛选后还是全都显示出来


FineReport panheyue 发布于 2020-4-9 13:47 (编辑于 2020-4-9 15:07)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共6回答
最佳回答
0
snrtuemcLv8专家互助
发布于2020-4-9 13:56

数据集sql里面wher条件添加过滤

where  是否在建='${控件名}'

最佳回答
0
孤陌Lv6资深互助
发布于2020-4-9 13:50

那你应该在项目名称的数据列里的 过率  设置 状态字段 等于  公式 $下拉框的控件名

  • panheyue panheyue(提问者) select ProjectCategoryName as \'公司\', a.projectguid as \'项目编号\', a.jcname as \'项目名称\', b.hjsk/10000 as \'合计收款(万元)\', k.hjzf/10000 as \'合计支付(万元)\', c.ljrg/10000 as \'累计人工(万元)\', d.ljcl/10000 as \'累计材料(万元)\', e.ljjx/10000 as \'累计机械(万元)\', f.ljfb/10000 as \'累计分包(万元)\', g.ljxc/10000 as \'累计现场经费(万元)\', l.ljcz/10000 as \'累计产值(万元)\', (case when IsFinish=0 then \'在建\' when IsFinish=1 then \'竣工\' end ) as \'是否在建\', (case when c.ljrg IS null then 0 else c.ljrg end)+(case when d.ljcl IS null then 0 else d.ljcl end)+(case when e.ljjx IS null then 0 else e.ljjx end)+(case when f.ljfb IS null then 0 else f.ljfb end)+(case when g.ljxc IS null then 0 else g.ljxc end) as \'开累实际成本(万元)\' from zy_project as a left join (select ProjectGUID,SUM (InComeMoney)as hjsk from ZY_Project_Payment_InCome where isdelete=0 group by ProjectGUID)as b on a.ProjectGUID =b.ProjectGUID left join (select ProjectGUID,SUM (PayMoney) as hjzf from ZY_Project_Payment_Pay where isdelete=0 group by ProjectGUID)as k on a.ProjectGUID =k.ProjectGUID left join (select ProjectGUID ,SUM(CurrentMonthRealityMoney)as ljcz from ZY_Project_OutPut where IsDelete=0 group by ProjectGUID ) as l on a.ProjectGUID =l.ProjectGUID left join (select ProjectGUID ,SUM(PayMoney) as ljrg from ZY_Project_Cost_Labor where IsDelete=0 group by ProjectGUID) as c on a.ProjectGUID =c.ProjectGUID left join (select ProjectGUID ,SUM(settlementpaymoney) as ljcl from ZY_Project_Cost_Material where IsDelete=0 group by ProjectGUID) as d on a.ProjectGUID =d.ProjectGUID left join (select ProjectGUID ,SUM(PayMoney) as ljjx from ZY_Project_Cost_Machinery where IsDelete=0 group by ProjectGUID) as e on a.ProjectGUID =e.ProjectGUID left join (select ProjectGUID ,SUM(PayMoney) as ljfb from ZY_Project_Cost_Specialty where IsDelete=0 group by ProjectGUID) as f on a.ProjectGUID =f.ProjectGUID left join (select ProjectGUID ,SUM(PayMoney) as ljxc from ZY_Project_Cost_IndirectExpenses where IsDelete=0 group by ProjectGUID) as g on a.ProjectGUID =g.ProjectGUID where ProjectName not like \'%[测试]%\' order by a.projectguid desc 大佬要在什么地方加呢? 我在倒数第二行加 and \'是否在建\'=\'${comboBox0}\' 结果就什么都不出来了,comboBox0是控件名
    2020-04-09 14:17 
  • 孤陌 孤陌 回复 panheyue(提问者) 如果数据不多 就用数据列过滤的方法
    2020-04-09 14:22 
  • 孤陌 孤陌 回复 panheyue(提问者) 是的,你单元格不是插入了数据列嘛 在过滤哪里 设置 状态字段 等于 选择公式 写公式$下拉框的控件名 就可以了
    2020-04-09 14:27 
  • panheyue panheyue(提问者) 回复 孤陌 我加了一句,在上面最后两张图片,结果什么都搜不出了
    2020-04-09 15:07 
  • 孤陌 孤陌 回复 panheyue(提问者) 你的字段名 为什么有加单引号啊??
    2020-04-09 15:46 
最佳回答
0
依汐Lv2见习互助
发布于2020-4-9 14:14

你数据集里面引用的是前面的文本控件值,下拉框的值你没有引用,所以下拉数据没有变化

最佳回答
0
AgnesYimLv2见习互助
发布于2020-4-9 15:43

数据字典设置成自定义,实际值:在建;显示值:在建。竣工同理

  • panheyue panheyue(提问者) 不行
    2020-04-09 17:03 
  • AgnesYim AgnesYim 回复 panheyue(提问者) 确认一下你的控件名和参数名是否匹配
    2020-04-09 18:13 
最佳回答
0
xiaguangmangLv5见习互助
发布于2020-4-9 15:49

and 是否在建=‘${控件名}’此处的控件名称是你下拉选项框的名称。

最佳回答
0
指间沙Lv6中级互助
发布于2020-4-9 19:49

${if(len(station_id) == 0,""," and a.brandch_bureau='"+station_id+"'")},这样子写,其中station_id指的是你查询条件得那个名称,然后要查得字段换成a.brandch_bureau.

image.png

image.png

  • 7关注人数
  • 613浏览人数
  • 最后回答于:2020-4-9 19:49
    请选择关闭问题的原因
    确定 取消
    返回顶部