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

提示:本文档的示例代码仅适用于本文档中的示例报表/场景。若实际报表/场景与示例代码无法完全适配(如使用功能不一致,或多个宏代码冲突等),需根据实际需求开发代码。

(本示例已在V10.5.15版本中测试并验证通过)

问题说明

         在交互式仪表盘中,使用文本组件获取公共参数的真实值和显示值,应该如何实现?

解决方案

        1、获取真实值:使用函数 [GetSelectedFieldValue(xx,xx,xx)],参考其它组件 ⬝ 文本组件 ⬝ 字段取数

         (注:模型参数使用该函数获取到的是显示值)

        2、获取显示值

        1)要把参数组件应用于文本组件,文本组件才会随着参数选中值变化而刷新;

        2)添加宏代码在文本组件

//对象:文本        事件:onAfterRender
function main(page: IPage, portlet: IStaticTextPortlet) {
    portlet.setContentHandler(function (rawHtmlContent, processedHtmlContent) {
        let paramPortlet = page.getPortletById('xxx') //xxx填写参数组件id,获取方式见https://wiki.smartbi.com.cn/pages/viewpage.action?smt_poid=43&pageId=115002325
        let displayValue = paramPortlet.getDisplayValue() || []
        let html = '<span>' + displayValue.join(',') + '<\span>'
        return html
    })
}

         

        最后效果: