下拉复选框问题

现在是有店铺的数据只有9条  但是没有店铺的数据是1700多条  能不能默认把没有店铺和有店铺的数据都能查询出来呢??  现在每次预览只能看见9条数据

image.png

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

下拉框参数为空选择全部-https://help.finereport.com/doc-view-2394.html


  • FRWPP FRWPP(提问者) 现在这个控件就是全部选中的话 只能查出 9条数据
    2020-07-28 15:27 
  • zsh331 zsh331 回复 FRWPP(提问者) 为空=不选择,按照上面的设置,就全部显示了!
    2020-07-28 15:29 
最佳回答
0
shirokoLv6资深互助
发布于2020-7-28 15:24(编辑于 2020-7-29 14:42)

比较难处理

--------

image.png

11.cpt

做了一个例子,参考一下

最佳回答
0
读书人Lv5初级互助
发布于2020-7-28 15:46(编辑于 2020-7-28 15:46)

实现方案:

一、为空时查询全部,不是全选店铺查看全部

二、数据集参数入口处判断这个控件是否全选了,调整对应sql也可以实现

image.png


最佳回答
0
zjc@Lv3初级互助
发布于2020-7-28 15:59

把  店铺 下拉框的返回值设置为数组,再在sql中添加条件语句

SELECT * FROM 表名 ${IF(LEN(店铺) == 0,"","WHERE 店铺 IN('" + JOINARRAY(店铺, "','") + "')")}

这个sql的意思是:当店铺下拉框不选时没用过滤条件,当店铺下拉框选择时有where条件

最佳回答
0
柠檬不吐酸Lv4见习互助
发布于2020-7-28 17:22

在底表中是店铺字段中有的有店铺名,有的没有吗?

如果是这样,Oracle可以nvl(店铺,'无店铺名') 店铺,这样控件中就显示全部的店铺,没有店铺的也会展示出来,


最佳回答
0
冰泉冷涩Lv6初级互助
发布于2020-7-28 19:10

我觉得楼主目前最大的问题应该是下拉框数据量太大了。。。

换个方案,用新的弹出框(本质是一张新的CPT)来显示这些数据,然后通过参数传递到原CPT的下拉框赋值:https://help.finereport.com/doc-view-1030.html

最佳回答
0
jongwangLv6中级互助
发布于2020-7-29 15:03(编辑于 2020-7-29 15:17)

我知道了,你想要的效果了:

你在where 条件后补充下面一句:

${if(count(split(参数控件名,"','"))=9," or 筛选的列名 is null ", "")}

你试试看呢

大概的思路就是 如果参数控件选择了9个(全部),那么就给 加一句,“ or 店铺名 is null ”条件,原来的 9 条正常出现,同时也把所有数据也查出来。 

  • 周访 周访 这个思路特别好
    2020-07-29 15:09 
  • jongwang jongwang 回复 周访 嘿嘿。另外如果,不想这个9固定死,那么就在模板参数加一个para1 公式取sql(\"连接库名\",\"select count(distinct 店铺名) from table\",1,1) 然后 = 9 写成 = para1应该也就行了
    2020-07-29 15:12 
  • 8关注人数
  • 811浏览人数
  • 最后回答于:2020-7-29 15:17
    请选择关闭问题的原因
    确定 取消
    返回顶部