当一个拉下列表使用显示值和实际值时如何设置该列表的初始值?

比如一个下拉列表数据集为:

显示值:A,对应实际值为:1;

显示值:B,对应实际值为:2;

此时如果设置该下拉列表的默认值为A,

查询时,其它控件无法获取A对应的实际值1.

如何获取实际值?

FineReport 用户4SS7X8560278 发布于 2022-9-27 14:31 (编辑于 2022-9-27 14:31)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
快乐星光Lv5中级互助
发布于2022-9-29 10:48

你看一下你的获取值的js是什么,getcellvalue是获取单元格显示值,getValue是获取控件值。如果想获取实际值,要用getValue,如果是单元格组控件,要用_g().getWidgetsByName("comboBox0");

最佳回答
0
MJ2024Lv6见习互助
发布于2022-9-27 14:33

你给默认值1,显示的不是A吗

  • 用户4SS7X8560278 用户4SS7X8560278(提问者) 我给的默认值是1,显示的是A,不过其他组件获取的值是显示值A,而不是1; 比如:设这个下拉列表数据集是一段sql结果集为X。这个控件的初始值是一段sql结果集Y: X结果集有两个字段:名字(显示值)和编码(实际值); Y结果集有两个字段:名字(小明)和编码(001); 当其他控件获取这个下拉列表的值时,取的是编码---这是正确的; 但是当使用初始值即Y结果集时,获取到的是名字---这里不对的。
    2022-09-27 14:45 
最佳回答
0
帆软用户s1Pwsa2BAQLv5初级互助
发布于2022-9-29 09:32(编辑于 2022-9-29 09:40)

可以试试把对应取到的参数值在另一个结果集sql语句里使用case when重置一下,例如case when ‘${参数1}’then 新值 end 新字段,后面把这个新字段作为后面参数的控件值 ,新字段=‘${参数二}’

,图中我的是分了三种不同的结果集用来跳转不同的三张报表的,你如果只有一个结果集可以case when‘条件一’ then‘值一’ when‘条件二’ then‘值二’ end 新字段 ,多使用几次when then,多嵌套几个条件

image.png

image.png

  • 4关注人数
  • 380浏览人数
  • 最后回答于:2022-9-29 10:48
    请选择关闭问题的原因
    确定 取消
    返回顶部