关于下拉控件的使用

如图,下拉显示效果

image.png

如图,这是下拉查询的表a的数据,下拉实际显示的是字段EKYX(此图d列)为x的数据

image.png

可以实现当选择下拉里

"299其他"

这条的时候,给数据集传输的下拉参数是表a里EKYX(d列)列不为x的哪些数据吗,相当于下拉选择“299其他”代表表a所有不为x的数据,下拉控件名为p_gyy

注意主表不是表a!!!主表里没有EKYX(d列)列标识,只有A列的编号EKGRP,表a是只查下拉数据的

我写的,求大佬看看对不对:p_gyy_lz是我新增的下拉控件,状态是隐藏可用,里面放的表a所有不为x的数据

          ${if(len(p_gyy)==0,"",if(find('299其他',p_gyy)>0,"and EKGRP in ( '"+p_gyy+"' )  and EKGRP in ( '"+p_gyy_lz+"' )","and EKGRP in ( '"+p_gyy+"' )"))}  

FineReport 狂奔的小蜗牛 发布于 2022-12-9 13:58
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
luojian0323Lv7资深互助
发布于2022-12-9 14:05

上个问题回答不够清楚?

表a 假设有 abc三个字段

下拉控件用的数据集假设有ad两个字段,你要在表a里用到d这个字段,不是直接在表a的sql里左连接下拉控件所用的数据集,使之合并字段到表a的数据集中,再根据参数值,判断 是否过滤d列不为x 

吗?

  • 狂奔的小蜗牛 狂奔的小蜗牛(提问者) 不能关联,现在报表都要加载几分钟才出来。要用其他方式
    2022-12-09 14:07 
  • 狂奔的小蜗牛 狂奔的小蜗牛(提问者) 你这个正常是对的,但是我想用两个数集,我上面说的方法,可以减少查询时间,你看看我上边的对吧,关联的方法是肯定不能用的
    2022-12-09 14:09 
最佳回答
0
用户k6280494Lv6资深互助
发布于2022-12-9 14:06(编辑于 2022-12-9 15:20)

${if(len(p_gyy)==0,"",if(find('299其他',p_gyy)>0,"and b.EKYX is null","and EKGRP in ( '"+p_gyy+"' )"))}

image.png 

  • 狂奔的小蜗牛 狂奔的小蜗牛(提问者) EKGRP is null是什么意思,EKGRP等于空,主表会把EKGRP字段为空的全部去掉把,这什么逻辑
    2022-12-09 15:04 
  • 用户k6280494 用户k6280494 回复 狂奔的小蜗牛(提问者) EKGRP为空的意思
    2022-12-09 15:06 
  • 狂奔的小蜗牛 狂奔的小蜗牛(提问者) 回复 用户k6280494 这不对吧,这么写会把主表EKGRP为空的数据全去掉,而主表这字段不可以为空。所以效果是一条数据也没有,EKYX和EKGRP你整混了吧
    2022-12-09 15:10 
  • 用户k6280494 用户k6280494 回复 狂奔的小蜗牛(提问者) 不是去掉为空的数据,是取为空的数据,你拿sql跑一下不就明白了嘛
    2022-12-09 15:11 
  • 用户k6280494 用户k6280494 回复 狂奔的小蜗牛(提问者) 你D列是哪个字段? 当有299其他的时候,你不是要查D列为空的吗?
    2022-12-09 15:14 
最佳回答
0
迎风布阵Lv4见习互助
发布于2022-12-9 14:59

表a所有不为x的数据这部分数据直接在参数数据集里union all进299这行数据就行了吧

  • 狂奔的小蜗牛 狂奔的小蜗牛(提问者) 这怎么操作。。。怎么把多数据放入299行
    2022-12-09 15:02 
  • 迎风布阵 迎风布阵 回复 狂奔的小蜗牛(提问者) oracle这样很容易:select EKGRP,EKGRP_NAME from a where a.ekgrp<>\'299\' and a.ekyx=\'X\' union all select WM_CONCAT(EKGRP) EKGRP,\'299其它\' from a where a.ekgrp<>\'299\' and a.ekyx<>\'X\'
    2022-12-09 15:09 
  • 4关注人数
  • 338浏览人数
  • 最后回答于:2022-12-9 15:20
    请选择关闭问题的原因
    确定 取消
    返回顶部