隐藏sheet页

一个report报表内有多个sheet页,需要根据登录人的权限决定隐藏某些sheet页,可以实现吗

FineReport 用户ehBtP3178335 发布于 2025-5-15 17:07
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
用户k6280494Lv6专家互助
发布于2025-5-15 17:07(编辑于 2025-5-15 17:11)

可以的

JS隐藏sheet页

如果登录账号是A,就隐藏隐藏苹果汁sheet

if (!window.flag) {

if (user == 'A') {

$('li[title="苹果汁"]').hide();

//隐藏苹果汁sheet

_g().loadSheetByName("牛奶");

//切换到牛奶sheet

}

flag = true;

//使用全局变量防止该事件重复执行

}

image.png

最佳回答
0
FR-LeonLv4初级互助
发布于2025-5-15 17:30
  1. 权限控制准备

    • 在数据库或权限系统中设置用户可访问的sheet页标识

    • 确保报表能获取当前登录用户的权限信息

  2. JavaScript隐藏逻辑在报表的「加载结束」事件中添加以下代码:


    // 示例:隐藏无权限的sheet页

    if(当前用户无权限访问sheet1){

    $(".fr-sheetname:contains('sheet1名称')").parent().hide();

    }

  1. 效果预览

    • 不同用户登录后将只能看到有权限的sheet页

    • 隐藏的sheet页不会出现在底部标签栏中

隐藏效果示例

注意事项
  • 此方法不支持移动端使用

  • 如需更细粒度的控制,可结合单元格可见性权限设置

  • 3关注人数
  • 27浏览人数
  • 最后回答于:2025-5-15 17:30
    请选择关闭问题的原因
    确定 取消
    返回顶部