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

问题背景

在项目实施过程中,有时需要从 Smartbi 报表中跳转到第三方URL页面,并且需要传递含有中文信息的参数。

解决方案

一般的做法可能是先写一个jsp页面来打开第三方URL页面,以便解决参数含中文信息的问题。为了减少该类需求的重复工作和宏代码中的代码量,Smartbi 提供了一个 WinHelper 类以方便解决该类问题。具体用法,请参考后面的示例代码。

支持版本

Smartbi V2.5 及后续版本。 

使用示例

// ================================

// 示例1:打开第三方URL

// ================================

// ================================
// 灵活分析宏代码示例
// ================================
// 类型:ClientSide    对象:simpleReport    事件: onRenderTable
var WinHelper = jsloader.resolve('smartbi.control.dialog.WinHelper');
function main(simpleReport, simpleReportContext) {
    var datas = {
        'title': '搜索Smrtbi',
        'url': 'http://www.soso.com/q',
        'postData': [{
            'name': 'query',
            'value': 'Smartbi'
        },
        {
            'name': 'utf-8',
            'value': 'ie'
        }]
    };
    //
    var features = {
        'width': 800,
        'height': 600
    };
    //
    WinHelper.showModalDialog(datas, features);
};

 

// ================================

// 示例2:打开Smartbi灵活分析

// ================================

// ================================
// 灵活分析宏代码示例
// ================================
// 类型:ClientSide    对象:simpleReport    事件: onRenderTable
var WinHelper = jsloader.resolve('smartbi.control.dialog.WinHelper');
function main(simpleReport, simpleReportContext) {
    var params = [{
        'name': 'BeginTime',
        'value': '2010-07-21 16:11:00',
        'displayValue': '2010-07-21 16:11:00'
    },
    {
        'name': 'EndTime',
        'value': '2013-12-31 16:30:00',
        'displayValue': '2013-12-31 16:30:00'
    },
    {
        'name': 'Scale',
        'value': '2',
        'displayValue': '2分钟'
    }];
    var lang = jsloader.resolve('freequery.lang.lang');
    var paramsInfoStr = lang.toJSONString(params);
    var path = JSLoader.baseHref + 'openresource.jsp';
    var reportId = 'I2c94ea9f2567c7ec012567ef00b40046';
    var datas = {
        'title': '最大会话数分析',
        'url': path,
        'postData': [{
            'name': 'resid',
            'value': reportId
        },
        {
            'name': 'paramsInfo',
            'value': paramsInfoStr
        }]
    };
    //
    var features = {
        'width': 1024,
        'height': 768,
        'resizable': true
    };
    //
    WinHelper.showModalDialog(datas, features);
};
  • 无标签