下拉复选框联动之控件默认值使用sql函数赋值

编辑
文档创建者:文档助手1 (67727 )     浏览次数:5798次     编辑次数:5次     最近更新:caixiaolan 于 2016-10-18     

目录:

1. 问题描述编辑

下拉复选框联动,第一个控件的默认值是sql函数直接赋的值,预览时,第一个控件不点击,第二个控件下拉复选框没有值可以选择。
打开一模板如:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Parameter\ParaConnection1.cpt,使用地区和省份两个下拉复选框联动。地区控件默认值写为sql("FRDemo","SELECT distinct 货主地区 FROM 订单 ",1),预览时效果如下:
222

2. 思路分析编辑

因为有默认值的时候,会在后台计算数据字典,而地区area的值为,东北,华北,华东,华南,华中,西北,西南,动态SQL语句 为SELECT 货主省份 FROM 订单 where 货主地区 in ('${area}'),这时查询省份的SQL语句为SELECT 货主省份 FROM 订单 where 货主地区 in (',东北,华东,华中,华北,华南,西北,西南'),这样无法查询到省份的数据,所以省份的下拉复选框没有值可以选择。这是因为area的值没有用分隔符分割。
如果没有默认值,选择全部地区,点击查询,在web端控件会加上分隔符,area的值会变成','东北','华东','华中','华北','华南','西北','西南,这时动态SQL中,查询省份的语句为SELECT 货主省份 FROM 订单 where 货主地区 in ("','东北','华东','华中','华北','华南','西北','西南'),这样才能查询到省份的数据,从而省份的下拉框中的值能正常显示。

3. 解决方案编辑

将默认值改为带有间隔符的值,比如该问题中,默认值为选择全部的地区,只需要将sql函数处理下,使其带有间隔符,具体为JOINARRAY(sql("FRDemo","SELECT distinct 货主地区 FROM 订单 ",1),"','")。这样省份的下拉框控件中的值能正常显示,预览效果如下图:
222

附件列表


主题: 报表应用
如果您认为本文档还有待完善,请编辑

文档内容仅供参考,如果你需要获取更多帮助,请咨询帆软技术支持
关于技术问题,您还可以通过帆软论坛获取帮助,论坛上有非常多的大神,有些水平比帆软工程师还要高哦。
若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

本文档是否有用?
谢谢! 我们非常感谢您的反馈。
提交反馈: