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

示例说明

在电子表格中,可以通过宏实现图片告警,示例如下:

注:客户端宏只对客户端打开报表时有效,导出报表为Excel等文件不会有图片告警效果。

 

版本及客户端说明

1.smartbi版本:最新版本

2.客户端:PC

3.浏览器:IE、谷歌浏览器(Chrome)、火狐浏览器(Firefox)

设置方法

  1. 在电子表格设计器中中,创建一张电子表格报表;


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

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

宏类型

类型

对象

事件

ClientSide

spreadsheetReport

onRender

宏代码

function main(spreadsheetReport) {
    var starIndex = 7; //数据开始行,行号从0开始,第8第行开始行,因此是7
    var maxRow = spreadsheetReport.getRowCount() - 1; //数据总行数,由于getRowCOunt()此方法获得的行数会比实际行数多一行,所以要减1

    for (var m = starIndex; m < maxRow; m++) {
        var cellIndex = 3; //显示图片信息的列序号,序号从0开始。
        var cell = spreadsheetReport.getCell(m, cellIndex); //获取单元格
        cell.align = "center";
        var value = cell.innerText;
        if (value == 1) { //根据值不同,显示不同的图片
            cell.innerHTML = '<img src="../../../img/mapflag/square-star.png" />';
        } else if (value == 2) {
            cell.innerHTML = '<img src="../../../img/mapflag/star.png" />';
        } else if (value == 3) {
            cell.innerHTML = '<img src="../../../img/mapflag/triangle.png" />';
        } else {
            //对其他单元格的处理
            //cell.background = "img/alertdialog/Icon_4.gif";
            cell.style.background = 'url(../../../img/mapflag/none.png) no-repeat center center';
            cell.style.fontWeight = 'bold';
            cell.style.fontSize = '16';
            cell.style.height = '28';
            cell.style.backgroundColor = '';
        }
    }
}

关键对象总结

  • 读取表内容总行数:spreadSheetReport..getRowCount();
  • 读取单元格内容:spreadSheetReport.getCell(m, cellIndex);

资源下载

报表资源:migrate排序告警宏.xml

表sql:alarm.sql

 

  • 无标签