以下自定义提示,SQL结尾的参数不加是正确的,加了参数就不行了,如何解决

function () {

    return '

' + '' + this.name + '' + '' + '' + Math.round((this.value) * 100) / 100 + '' + '(' + FR.contentFormat(this.value / FR.remoteEvaluate('=SQL("PG4"," ' + "select NAME,JIDU from ceshi where 1=1 ${if(len(cj)==0," and jidu= 2 "," and jidu= '"+cj+"' ")}" + ' ",1,1)'), '#.##%') + ')' + '

'

}

FineReport Srafy 发布于 2021-11-3 16:01 (编辑于 2021-11-3 16:02)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
SrafyLv5见习互助
发布于2021-11-3 17:37(编辑于 2021-11-3 17:38)

终于解决了,本来就不会写JS一直在找资料,多谢 snrtuemc 提供思路能实现就行…

function () {

    var cj= FR.remoteEvaluate("$cj");

    var cn= FR.remoteEvaluate("$cn")

        return '

' + '' + this.name + '' + '' + '' + Math.round((this.value) * 100) / 100 + '' + '(' + FR.contentFormat(this.value / FR.remoteEvaluate('=SQL("PG4"," ' + "select cainian,caiji,num from ceshi where caiji='"+cj+"' AND cainian= '"+cn+"'" + ' ",1,1)'), '#.##%') + ')' + '

'

}

最佳回答
0
那一抹火焰蓝Lv5见习互助
发布于2021-11-3 16:02

en(cj)==0 多个等号吧

最佳回答
0
snrtuemcLv8专家互助
发布于2021-11-3 16:02

function () {

    return '<table style="color:' + this.color + '; fontSize:20pt; " > ' + '<tr>' + this.name + '<br>' + '</tr>' + '<tr>' + Math.round((this.value) * 100) / 100 + '</tr>' + '(' + FR.contentFormat(this.value / FR.remoteEvaluate('=SQL("PG4"," ' + "select NAME,JIDU from ceshi where 1=1 if(len(cj)==0," and jidu= 2 "," and jidu= '"+caiji+"' ")" + ' ",1,1)'), '#.##%') + ')' + '</table>'

}

==============

把${}去掉试试

  • Srafy Srafy(提问者) 也是不行
    2021-11-03 16:09 
  • snrtuemc snrtuemc 回复 Srafy(提问者) 那就拼接有问题,里面${}是肯定不需要的,检查查下拼接语句吧,还有你if语句中参数怎么来的,需要在这个语句里面定义啊。。。。
    2021-11-03 16:14 
  • Srafy Srafy(提问者) 回复 snrtuemc 怎么定义参数…
    2021-11-03 16:26 
  • snrtuemc snrtuemc 回复 Srafy(提问者) 这边不建议这么做,这样很复杂,,,就是需要return前面var cj=1;这样取定义,而且你的cj又是动态参数,又要写帆软的语句获取,我也搞糊涂了。。。。
    2021-11-03 16:29 
  • 2关注人数
  • 352浏览人数
  • 最后回答于:2021-11-3 17:38
    请选择关闭问题的原因
    确定 取消
    返回顶部