请选择 进入手机版 | 继续访问电脑版
查看: 346|回复: 3

动态隐藏行问题

[复制链接]

26

主题

54

帖子

204

积分

中级会员

Rank: 3Rank: 3

积分
204
发表于 2020-7-30 14:14:42 | 显示全部楼层 |阅读模式
535115f2264f3aa4c9.png
请教下,D3(圈住的这个格子)是对C3做的累计值, 如何实现当这个累计值大于某个数 就隐藏不显示了呢?  不知道是否支持动态定义表达式设置隐藏?感谢
回复

使用道具 举报

0

主题

7

帖子

27

积分

新手上路

Rank: 1

积分
27
发表于 2020-7-30 14:38:27 | 显示全部楼层
参考:https://wiki.smartbi.com.cn/pages/viewpage.action?pageId=52626330


1、首先在电子表格设计器(Microsoft Office Excel)中,创建电子表格报表。

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

3、在报表宏界面新建服务器端模块。在弹出的新建模块对话框中,选择对象为spreadSheetReport、事件为onBeforeOutput、并把下面宏代码复制到代码编辑区域。

function main(spreadsheetReport) {
    //获取D5单元格中的值做判断,隐藏行
    var posList = spreadsheetReport.sheets[0].getExpandedPositions("D5");
    //获取C5单元格中的值做判断,隐藏列
    //var posList = spreadsheetReport.sheets[0].getExpandedPositions("C5");
    var cells = spreadsheetReport.workbook.worksheets.get(0).cells;
    for (var i = 0; i < posList.length; i++) {
        var pos = posList
        var value = cells.get(pos.row, pos.column).value;
        if (!value) {
            break;
        }
        if (value < 2100) cells.hideRow(pos.row); //隐藏值小于2100的行
        //if (value < 100) cells.setColumnWidthPixel(pos.column, 1);//隐藏值小于100的列
    }
}
回复

使用道具 举报

26

主题

54

帖子

204

积分

中级会员

Rank: 3Rank: 3

积分
204
 楼主| 发表于 2020-7-30 15:01:28 | 显示全部楼层
麦粉428573 发表于 2020-7-30 14:38
参考:https://wiki.smartbi.com.cn/pages/viewpage.action?pageId=52626330

感谢 我试下
回复

使用道具 举报

0

主题

79

帖子

82

积分

注册会员

Rank: 2

积分
82
发表于 2020-7-31 15:05:14 | 显示全部楼层
好好好
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表