这个sql函数,in的格式问题怎么改哈。我的c参数有可能是多个值,比如:1,2,3这样的

我用的是下拉树控件

var c=this.options.form.getWidgetByName("depart_name");

var c=c.getValue();

var area=FR.remoteEvaluate('=sql("cloud","select depart_name from sys_depart where id in(select parent_id from sys_depart where depart_name in("'+c+"')),1,1)');

FineReport yikefu 发布于 2022-9-6 15:56 (编辑于 2022-9-6 16:17)
1min目标场景问卷 立即参与
回答问题
悬赏:6 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共6回答
最佳回答
0
CD20160914Lv8专家互助
发布于2022-9-6 16:25(编辑于 2022-9-6 18:05)

var c=this.options.form.getWidgetByName("depart_name").getValue();

var bl=c.toString().replace(/,/g,"','");//全局替换。把下拉树的逗号替换成引号  逗号  引号。

var sqla="=sql('cloud','select depart_name from sys_depart where id in(select parent_id from sys_depart where depart_name in('"+bl+"')),1)";

var area=FR.remoteEvaluate(sqla);

image.png

image.png

最佳回答
0
weibwLv7高级互助
发布于2022-9-6 16:02(编辑于 2022-9-6 16:04)

如果你穿的是1,2,3这种纯数字,你可以把括号外面的单引号去掉了

如果你传的是字符串,那需要加工成A','B','C这种格式

JOINARRAY(split("A,B,C",","),"','")

image.png

最佳回答
0
congerLv6高级互助
发布于2022-9-6 16:03(编辑于 2022-9-6 16:26)

下拉树返回的是字符串,使用js修正格式

image.png

  • yikefu yikefu(提问者) 我用的是下拉树控件
    2022-09-06 16:17 
  • conger conger 回复 yikefu(提问者) 你在前后拼上单引号 然后加工返回值c var a = \'1,2,3\' //将逗号替换成分隔符逗号 var b = a.split(\',\').join(\"\\\',\\\'\") console.log(b)
    2022-09-06 16:25 
  • conger conger 回复 yikefu(提问者) 我这个方法不行吗?
    2022-09-06 21:56 
最佳回答
0
runerLv7资深互助
发布于2022-9-6 16:04(编辑于 2022-9-6 18:21)

var c=this.options.form.getWidgetByName("depart_name");

var c=c.getValue();

var area=FR.remoteEvaluate('=sql("cloud","select depart_name from sys_depart where id in(select parent_id from sys_depart where depart_name in('" +c+"')),1,1)');

image.png

多选下拉树实现多值查询- FineReport帮助文档 - 全面的报表使用教程和学习资料 (fanruan.com)

image.png

参考

var c=this.options.form.getWidgetByName("depart_name");

var c=c.getValue();

var area=FR.remoteEvaluate('=sql("cloud","select depart_name from sys_depart where id in(select parent_id from sys_depart where depart_name in("'+SUBSTITUTE(c,",","','")+"')),1,1)');

  • yikefu yikefu(提问者) 我用的是下拉树控件
    2022-09-06 16:17 
  • runer runer 回复 yikefu(提问者) 试试
    2022-09-06 18:22 
最佳回答
0
就TM你叫夏洛啊Lv6中级互助
发布于2022-9-6 16:06

where depart_name in("'+replace(c,",","','")+"'),你试一下这个,思路是将c参数返回值的","转换"','"

最佳回答
0
yzmNets29121307Lv2见习互助
发布于2022-9-6 16:27

1662452813816.png

  • 7关注人数
  • 667浏览人数
  • 最后回答于:2022-9-6 18:21
    请选择关闭问题的原因
    确定 取消
    返回顶部