下拉复选框,全部选中后查询,但是只能出来一条结果

image.png

image.png

SQL和下拉框设置如图,1当不选的时候,则会出现所有数据。2当全部选中时,则只会出现一条数据,试了一下用SQL in是可以出结果的,而且下拉框的值看了一下也是很多个id,不知道哪里有问题,求助,谢谢

FineReport 用户T0087430 发布于 2021-9-7 15:03
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共5回答
最佳回答
1
圣体叶小凡Lv6高级互助
发布于2021-9-8 09:40

协助检查了,project的id放到了下拉复选框的时候,id的值就已经变了,除了第一个,后续的结尾都变成了0,使用cast把id转成varchar后就行了

最佳回答
0
霜凡Lv5中级互助
发布于2021-9-7 15:06

${if(len(参数) == 0,""," and  字段 in ( '" + SUBSTITUTE(参数,",","','") + "')")}

试下这种参数定义

最佳回答
0
Z4u3z1Lv6专家互助
发布于2021-9-7 15:07

看看日志,最终执行的SQL

image.png

最佳回答
0
shirokoLv6资深互助
发布于2021-9-7 15:07

image.png新版的话可以点这个看看实际sql排查一下

最佳回答
0
Moki_minLv5初级互助
发布于2021-9-7 15:27(编辑于 2021-9-7 15:30)

【在下拉树控件中,当未勾上“结果返回完整层次路径”时,treelayer($tree, true, "\',\'")得到的始终是最后一个值。因此,这种用法的前提必须勾选“结果返回完整层次路径”】

只返回一个值是上面的原因,不过如果你勾选了“结果返回完整层次路径”,又会把所有层级都返回出来,所以你需要在返回的层级里面获取最底层的id,公式参考如下:

${if(len(manage) == 0,"","and e.manage_item_id in ('" + (INDEXOFARRAY(split( manage,','),最底部所在的层级)) + "')")}

  • 用户T0087430 用户T0087430(提问者) 我是project这个有问题,manage勾选了返回完整层次路径,这个没有问题
    2021-09-07 17:43 
  • 5关注人数
  • 495浏览人数
  • 最后回答于:2021-9-8 09:40
    请选择关闭问题的原因
    确定 取消
    返回顶部