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

示例说明

在电子表格中根据字段值增加箭头图片显示预警。如下图:大于100的则是绿色向上箭头,小于100的则是红色向下箭头。并点击图片进行钻取。

 

设置方法

1、  在电子表格设计器中,创建电子表格。

2、  在浏览器的资源定制节点下,选中电子表格,右键选择 编辑宏 进入报表宏界面

3、  在报表宏界面新建客户端模块。在弹出的新建模块对话框中选择对象为 spreadsheetReport、事件为 onRender、并把下面宏代码复制到代码区域。

 

宏类型

类型

对象

事件

ClientSide

spreadsheetReport

onRender

宏代码

function paramToString(v) {
    return v == null ? null: v.toString();
}
function main(spreadsheetReport) {
    var r = spreadsheetReport.getRowCount(); //获取电子表格总行数
    for (var i = 2; i < r; i++) {
        var td = spreadsheetReport.getCell(i, 2); //根据行列号获取单元格
        var td1 = spreadsheetReport.getCell(i, 3); //根据行列号获取单元格
        var v = parseFloat(td.innerText.replace(",", ""));
        if (v > 100) {
            var img = document.createElement("IMG");
            img.src = "/smartbi/vision/img/alertdialog/up.gif"; //获取图片
            td1.appendChild(img); //图片放在单元格最后面
            //td.insertBefore(img, td.firstChild);//图片单元格最前面
        }
        else {
            var img = document.createElement("IMG");
            img.src = "/smartbi/vision/img/alertdialog/down.gif";
            td1.appendChild(img);
            //td.insertBefore(img, td.firstChild);//图片放在单元格最前面
        }
    }
    for (var i = 2; i < r; i++) {
        debugger;
        var td3 = spreadsheetReport.getCell(i, 3);
        var aa = spreadsheetReport.getCell(i, 1).innerText;
        debugger;
        td3.style.cursor = "pointer";
        debugger;
        td3.onclick = function(e) {
            debugger;
            var paramsInfo = [];
            var aa = "";
            if(this.previousSibling && this.previousSibling.previousSibling) {
                aa = this.previousSibling.previousSibling.innerText;
            }
            
            
            paramsInfo.push({
                name: "产品类别",
                value: paramToString(aa),
                displayValue: paramToString(aa)
            });
            //@smartbi.openOtherPage:"I4028818a4f5da2d70153e4e45e1f1bad"
            openURL("openresource.jsp?resid=I4028818a4f5da2d70153e4e45e1f1bad&showtoolbar=true&refresh=true", [{
                name: "paramsInfo",
                value: lang.toJSONString(paramsInfo)
            }])
        }
    }
}

关键对象总结

  • 根据行列号获取单元格spreadSheetReport.getCell(i, 3);
  • 图片放在单元格最后面:td.appendChild(img);