页面树结构
转至元数据结尾
转至元数据起始

(宏代码仅供参考,如和实际应用场景不匹配,需要自行调整相关代码)

问题描述:

仪表盘报表通过一台大屏设备去展示,大屏设备一般打开这个报表就不会去变动了,但原报表可能会再做编辑跳转,比如修改了组件的标题或者调整了组件的类型、顺序之类的操作,

但是大屏展示时即便设置了自动刷新,标题也还是展示的原来的标题,手动点刷新也不会变,只有点重载,才能变过来,这样就导致后续如果调整了报表,

每次都还有对大屏设备展示的报表去手动点下重载,是否有办法让报表样式也自动刷新变过来?

处理方法:

可以设置setTimeout定时执行reload方法去重载仪表盘报表修改后的设置,跟刷新浏览器一样效果;

版本及客户端说明

smartbi版本:V11

设置方法

/******************************宏代码说明******************************
 * version:Smartbi V11
 * 类型:ClientSide
 * 对象:smartbix_page
 * 事件:onRender
 * 效果描述:定时刷新浏览器重载报表

 * 5000单位的ms,需要按实际情况修改。

 *********************************************************************/

function main(page: IPage) { 
    setTimeout(function () {
        location.reload(true);
    },5000);
}


注意:

若需区别编辑和打开查看类型,没有判断编辑还是浏览的,只能用获取工具栏判断下了,参考:

设置方法

/******************************宏代码说明******************************
 * version:Smartbi V11
 * 类型:ClientSide
 * 对象:smartbix_page
 * 事件:onRender
 * 效果描述:定时刷新浏览器重载报表

 * 5000单位的ms,需要按实际情况修改。

 *********************************************************************/

function main(page: IPage) { 
    debugger;
    let btns = page.getPageToolbar().getButtons();
    if (!btns || btns.length == 0return;
    setTimeout(function () {
        location.reload(true);
    },5000);
}


  • 无标签