永洪社区

标题: 自由表设置为不可见后,脚本获取报错 [打印本页]

作者: 然然琪琪    时间: 2022-7-8 17:07
标题: 自由表设置为不可见后,脚本获取报错
报表中添加自由表组件"tn",自由表可见性设置为不可见,然后在脚本中写入脚本var data=getViewData("tn")
param['zjlbd' = integer(data.get(0,1))
此时会报错:
报告(报告-2022)-->变化时运行-->组件(tn)-->数据集(体能数据)-->TypeError: Cannot call method "get" of null ([script]#9) at line 9


将脚本更改如下:

var data=getViewData("tn")
if(data!=null){
param['zjlbd' = integer(data.get(0,1))

报表不再报错,但是param['zjlbd' 获取不到数据,data为null。
如果将自由表组件设置为可见,则能正常获取到。
自由表组件只是用来获取参数值的来源,不想在报表中显示,怎么处理?






作者: yhdata_lyaa    时间: 2022-7-8 17:07
yhdata_Igd4IRe2 发表于 2022-7-8 17:31
没办法,为了解决问题,我把文本组件更改为自由表了,结果发现这个问题了。
我觉得不可见就不能获取这个 ...

嗯嗯 这个需求会反馈的
作者: yhdata_lyaa    时间: 2022-7-8 17:26
不可见后是获取不到数据的,删除多余的行和列,像文本那样呢。您此前用文本组件确实是版本问题,新版本没有复现。
作者: 然然琪琪    时间: 2022-7-8 17:27
组件设置为不可见后,就不能获取到,这应该是BI的机制,感觉很不合理的。
通过脚本手动设置可见性,问题解决
tn.visible = true
var data=getViewData("tn")
if(data!=null){
param['zjlbd'] = integer(data.get(0,1))
param['zjlcj'] = integer(data.get(0,0))
}
tn.visible = false
作者: 然然琪琪    时间: 2022-7-8 17:31
lyaa 发表于 2022-7-8 17:26
不可见后是获取不到数据的,删除多余的行和列,像文本那样呢。您此前用文本组件确实是版本问题,新 ...

没办法,为了解决问题,我把文本组件更改为自由表了,结果发现这个问题了。
我觉得不可见就不能获取这个机制是有问题的,不合理。不可见只是不想在报表显示,但不是没有用。
希望BI能改进吧。




欢迎光临 永洪社区 (https://club.yonghongtech.com/) Powered by Discuz! X3.4