FR11.0决策大屏报表块js联动报错

报表块添加链接——js脚本里面内容如下:

_g().getWidgetByName('tabpane1').showCardByIndex(1);

_g().getWidgetByName('存款总余额数据').gotoPage(1, {

"sz": "分行"

}, 'T');

_g().getWidgetByName('存款总日均数据').gotoPage(1, {

"sz": "分行"

}, 'T');

预览决策报表时候,点击这个报表块 报CustomJSError : Cannot read properties of undefined (reading 'gotoPage') 错误,

添加 setTimeout(function() {}, 1000); 也不行.

备注:js在10.0没有问题,升级到11.0 就出现这个问题

FineReport 武恩赐 发布于 5 天前
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
snrtuemcLv8专家互助
发布于5 天前

延迟加载后面

_g().getWidgetByName('tabpane1').showCardByIndex(1);

setTimeout(function() {

_g().getWidgetByName('存款总余额数据').gotoPage(1, {

"sz": "分行"

}, 'T');

_g().getWidgetByName('存款总日均数据').gotoPage(1, {

"sz": "分行"

}, 'T');

}, 1000);

  • 武恩赐 武恩赐(提问者) 有没有其他js能够实现数据联动
    2025-06-25 10:02 
  • 武恩赐 武恩赐(提问者) 这个试了一下,报表块一直在加载,不出数据
    2025-06-25 10:02 
  • snrtuemc snrtuemc 回复 武恩赐(提问者) 数据量太多了,增加内存,或者限制下数据数量
    2025-06-25 10:04 
  • 武恩赐 武恩赐(提问者) 回复 snrtuemc 不是明细表联动,是汇总表,表里面就12万条数据
    2025-06-25 10:10 
  • snrtuemc snrtuemc 回复 武恩赐(提问者) 12万。。。就是数据太多,你改成1000行,就快了。。。
    2025-06-25 10:12 
最佳回答
0
用户k6280494Lv6专家互助
发布于5 天前

报错信息 "CustomJSError : Cannot read properties of undefined (reading 'gotoPage')" 可能是由于在新版本中,某些组件的名称或结构发生了变化,导致无法找到对应的报表块。

您可以尝试以下步骤来解决此问题:

  1. 检查组件名称:确保您在代码中使用的组件名称(如 '存款总余额数据' 和 '存款总日均数据')在当前版本中是正确的。可以通过报表设计器确认这些组件的名称。

  2. 升级插件:如果您在使用新自适应插件后出现此错误,建议您升级自适应插件版本,或者查看是否有相关的更新说明。

  3. 修改代码:根据您提供的代码,您可以尝试将 gotoPage 的调用放在确保组件已完全加载后再执行。例如,您可以使用 setTimeout 来延迟执行,但请确保延迟时间足够长,以便组件加载完成。

    示例代码:


    setTimeout(function() {

    _g().getWidgetByName('存款总余额数据').gotoPage(1, { "sz": "分行" }, 'true');

    _g().getWidgetByName('存款总日均数据').gotoPage(1, { "sz": "分行" }, 'true');

    }, 1000);
  4. 检查报表块的可见性:确保在调用 gotoPage 方法之前,相关的报表块是可见的。如果报表块被隐藏,可能会导致无法调用其方法。

  • 3关注人数
  • 26浏览人数
  • 最后回答于:5 天前
    请选择关闭问题的原因
    确定 取消
    返回顶部