找文章 / 找答案
永洪vip
  • 发帖数658
  • 粉丝4

此人很懒,什么也没有留下

  • 解答问题超厉害

    经常帮助其他会员答疑
精选问答 更多内容

[常用脚本] 自由表隐藏合并单元格的多列

喵了个汪青铜四 显示全部楼层 发表于 2024-5-21 10:08:35 |阅读模式 打印 上一主题 下一主题
1
未解决

【常用脚本】 自由表隐藏合并单元格的多列

2409 10
请问下面场景怎么实现?

1716257201619.png
回复

使用道具 举报

精彩评论10

yhdata_lyaa 显示全部楼层 发表于 2024-5-21 10:28:42
参考脚本
var a=下拉列表参数1.getSelectedObjects()[0]
  var loc1 = new Locator(['c-0'],COL,DETAIL);
    // 第一列 取 0,第 二列为 1,依次类推, 这是第1列  var loc2 = new Locator(['c-1'],COL,DETAIL);
  var loc3 = new Locator(['c-2'],COL,DETAIL);
  var loc4 = new Locator(['c-3'],COL,DETAIL);

if(a=='A'){
    图表1.setColWidth(loc0,200);
    图表1.setColWidth(loc1,200);
    //设置列宽为200,显示列
}
if(a=='B'){
    图表1.setColWidth(loc2,0);
   图表1.setColWidth(loc3,0);
  //设置列宽为0,隐藏列
}

回复

使用道具 举报

喵了个汪青铜四 显示全部楼层 发表于 2024-5-21 10:34:46
yhdata_lyaa 发表于 2024-5-21 10:28
参考脚本
var a=下拉列表参数1.getSelectedObjects()[0]
  var loc1 = new Locator(['c-0'],COL,DETAIL);

下拉列表是多选,并不是单选
回复

使用道具 举报

喵了个汪青铜四 显示全部楼层 发表于 2024-5-21 10:36:15
喵了个汪 发表于 2024-5-21 10:34
下拉列表是多选,并不是单选

而且列太多了,没有什么办法对合并后的单元格里面的列进行隐藏吗,非要一列列去写死隐藏
回复

使用道具 举报

美滋滋白银二 显示全部楼层 发表于 2024-5-21 10:48:31
yhdata_lyaa 发表于 2024-5-21 10:28
参考脚本
var a=下拉列表参数1.getSelectedObjects()[0]
  var loc1 = new Locator(['c-0'],COL,DETAIL);

问题如下:
1. 楼主那个是复选框,你这个只支持单选
2. 缺少默认初始状态处理。建议所有列每次变化时初始无条件设置为宽等于0,然后根据条件设定哪些列宽为200.
回复

使用道具 举报

yhdata_lyaa 显示全部楼层 发表于 2024-5-21 10:58:03
美滋滋 发表于 2024-5-21 10:48
问题如下:
1. 楼主那个是复选框,你这个只支持单选
2. 缺少默认初始状态处理。建议所有列每次变化时初始 ...

严谨
回复

使用道具 举报

yhdata_lyaa 显示全部楼层 发表于 2024-5-21 11:00:44
喵了个汪 发表于 2024-5-21 10:34
下拉列表是多选,并不是单选

那if条件自己改一下,这个也没有特别好的办法,感觉都有点麻烦
回复

使用道具 举报

喵了个汪青铜四 显示全部楼层 发表于 2024-5-21 11:09:38
yhdata_lyaa 发表于 2024-5-21 11:00
那if条件自己改一下,这个也没有特别好的办法,感觉都有点麻烦

是的,不太适用,只能想办法改变数据结构了
回复

使用道具 举报

美滋滋白银二 显示全部楼层 发表于 2024-5-21 11:28:14
就算列很多,其实也不算太麻烦吧。你可以把需要变化的列号以及控制用的选项分别记录在两个数组中,
比如:
var colctrl = ["A","A","B","B"]
var collist = [1,2,3,4]
然后脚本写逻辑,当选项中有"A"时对应的1,2列显示,当选项中有"B"时,对应的3,4列显示。这样今后维护时也可以通过修改数组的值来进行控制,维护成本也低。
回复

使用道具 举报

夜空001玄铁三 显示全部楼层 发表于 2024-11-15 15:04:57
yhdata_lyaa 发表于 2024-5-21 10:28
参考脚本
var a=下拉列表参数1.getSelectedObjects()[0]
  var loc1 = new Locator(['c-0'],COL,DETAIL);

表怎么设
回复

使用道具 举报

高级模式
您需要登录后才可以回帖 登录 | 免费注册

  • 官方微信

    欢迎关注永洪服务号!收费为0,价值无限

    扫码关注
  • 新浪微博

    让每位用户轻松挖掘数据价值!

    访问新浪微博
  • 智能客服
50W

会员等你来哦

Copyright   ©2012-2024  北京永洪商智科技有限公司  (京ICP备12050607) 京公网安备110110802011451号 |《永洪社区协议》
返回顶部