找回密码
 立即注册

QQ登录

只需一步,快速开始

潘棒棒

注册会员

12

主题

36

帖子

148

积分

注册会员

积分
148
潘棒棒
注册会员   /  发表于:2022-11-7 15:23  /   查看:1082  /  回复:7
image.png300401610.png
点击隐藏后,再同时选中被隐藏列的左右两列,点击显示,被隐藏的列没有显示出来,请问有什么解决方法吗?

7 个回复

倒序浏览
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-11-7 17:35:54
沙发
个人猜测,您可以看看您隐藏的列是隐藏还是将列宽设置成0了,列宽设置成0与隐藏虽然从显示效果上是一样的,但是实际有不同,一个可以通过显示显示回来,一个不行。
如果不是上述问题,请您发一下具体的demo,我们详细再调查一下。
回复 使用道具 举报
潘棒棒
注册会员   /  发表于:2022-11-9 16:16:40
板凳
Clark.Pan 发表于 2022-11-7 17:35
个人猜测,您可以看看您隐藏的列是隐藏还是将列宽设置成0了,列宽设置成0与隐藏虽然从显示效果上是一样的, ...
  1. <!DOCTYPE html>
  2. <html lang="en">

  3. <head>
  4.     <meta charset="utf-8" />
  5.     <!-- disable IE compatible view -->
  6.     <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  7.     <meta name="spreadjs culture" content="zh-cn" />
  8.     <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" , user-scalable=no" />
  9.     <title>SpreadJS Demo : 表单保护 分组列</title>

  10.     <!-- CDN Reference     -->
  11.     <link rel="icon" type="image/png"  />
  12.     <link rel=" stylesheet" type="text/css"  />
  13.     <link rel="stylesheet" type="text/css"
  14.          />
  15.     <script type="text/javascript"
  16.         src="https://cdn.grapecity.com.cn/spreadjs/scripts/gc.spread.sheets.all.12.0.6.min.js"></script>
  17.     <script type="text/javascript"
  18.         src="https://cdn.grapecity.com.cn/spreadjs/scripts/resources/zh/gc.spread.sheets.resources.zh.12.0.6.min.js"></script>
  19.     <script type="text/javascript" src="https://cdn.grapecity.com.cn/spreadjs/scripts/jquery-1.11.1.min.js"></script>
  20.     <script type="text/javascript"
  21.         src="https://demo.grapecity.com.cn/SpreadJS/TutorialSample/js/spread/license.js"></script>
  22.     <script type="text/javascript" src="js/fenzuShuju.js"></script>
  23.     <script type="text/javascript" src="js/patlist.js"></script>


  24.     <!-- Local Reference
  25.     <link rel="icon" type="image/png" href="images/icon.ico" />
  26.     <link rel="stylesheet" type="text/css" href="css/basscss.min.css ">
  27.     <link rel="stylesheet" type="text/css" href=" css/gc.spread.sheets.excel2013white.12.0.6.css">
  28.     <script type="text/javascript" src="scripts/gc.spread.sheets.all.12.0.6.min.js"></script>
  29.     <script type="text/javascript" src="/scripts/gc.spread.sheets.resources.zh.12.0.6.min.js"></script>
  30.     <script type="text/javascript" src="scripts/jquery-1.11.1.min.js"></script>
  31.     <script type="text/javascript" src="https://demo.grapecity.com.cn/SpreadJS/TutorialSample/js/spread/license.js"></script>
  32. -->
  33.     <!-- 页面内自定义 CSS-->
  34.     <style>
  35.         body {
  36.             background: rgb(250, 250, 250);
  37.             color: #333;
  38.         }

  39.         #ss {
  40.             border: 1px #ccc solid;
  41.         }

  42.         .container {
  43.             width: 95%;
  44.             background: rgb(250, 250, 250);
  45.             margin: 0 auto;
  46.             height: 600px;
  47.         }

  48.         .full-height {
  49.             height: 100%;
  50.         }

  51.         .left {
  52.             height: 100%;
  53.             overflow: auto;
  54.         }
  55.     </style>
  56. </head>

  57. <body>
  58.     <!-- <div class="container">
  59.         <div class="clearfix border-bottom">
  60.             <div class="col col-8">
  61.                 <h3>SpreadJS Demo : 表单</h3>
  62.             </div>
  63.             <div class="col col-4 right-align align-middle">
  64.                 <h5>
  65.                     <ul class="list-reset">
  66.                         <li class="inline-block mr1"><a class="btn" href="https://www.grapecity.com.cn/developer/spreadjs "
  67.                                 target="_blank ">产品官网</a></li>
  68.                         <li class="inline-block mr1"><a class="" href="https://gcdn.grapecity.com.cn/showforum-185-1.html "
  69.                                 target="_blank ">论坛求助</a></li>
  70.                         <li class="inline-block mr1"><a class="" href="https://demo.grapecity.com.cn/SpreadJS/TutorialSample/#/samples "
  71.                                 target="_blank ">更多示例</a></li>
  72.                     </ul>
  73.                 </h5>
  74.             </div>
  75.         </div>

  76.         <div class="full-height clearfix mt2">
  77.             <div class="col col-4 left">
  78.                 <h4 class="mb0">保护表单</h4>
  79.                 <div>
  80.                     <input type="checkbox" id="protect"/>
  81.                  <label for="protect" >表单保护</label>
  82.                  </div>
  83.                  <div>
  84.                     <input type="checkbox" id="cell"/>
  85.                  <label for="cell" >选择被锁定单元格</label>
  86.                  </div>
  87.                  <div>
  88.                     <input type="checkbox" id="uncell"/>
  89.                  <label for="uncell" >选择未被锁定的单元格</label>
  90.                  </div>
  91.                  <div>
  92.                     <input type="checkbox" id="sort"/>
  93.                  <label for="sort" >排序</label>
  94.                  </div>
  95.                  <div>
  96.                     <input type="checkbox" id="filter"/>
  97.                  <label for="filter" >过滤</label>
  98.                  </div>
  99.                  <div>
  100.                     <input type="checkbox" id="resizerow"/>
  101.                  <label for="resizerow" >调整行高</label>
  102.                  </div>
  103.                  <div>
  104.                     <input type="checkbox" id="resizecol"/>
  105.                  <label for="drag" >调整列宽</label>
  106.                  </div>
  107.                  <div>
  108.                     <input type="checkbox" id="editObj"/>
  109.                  <label for="editObj" >编辑对象</label>
  110.                  </div>
  111.                  <div>
  112.                     <input type="checkbox" id="insertrow"/>
  113.                  <label for="insertrow" >插入行</label>
  114.                  </div>
  115.                  <div>
  116.                     <input type="checkbox" id="insertcol"/>
  117.                  <label for="insertcol" >插入列</label>
  118.                  </div>
  119.                  <div>
  120.                     <input type="checkbox" id="delerow"/>
  121.                  <label for="delerow" >删除行</label>
  122.                  </div>
  123.                  <div>
  124.                     <input type="checkbox" id="delecol"/>
  125.                  <label for="delecol" >删除列</label>
  126.                  </div>

  127.                  <h4 class="mb0">分组列</h4>

  128.             </div> -->

  129.     <div class="col col-8 full-height ">
  130.         <div id="ss" style="height:680px"></div>
  131.     </div>
  132.     </div>
  133.     </div>
  134. </body>
  135. <script type="text/javascript ">
  136.     window.onload = function() {
  137.             var spread = new GC.Spread.Sheets.Workbook(document.getElementById('ss'), {
  138.                     sheetCount: 1
  139.             });
  140.             initSpread(spread);
  141.     };
  142. function initSpread(spread) {
  143.         var sheet = spread.getActiveSheet();

  144.         spread.suspendPaint();

  145.         var salesData = [
  146.                 ['Salesperson', 'Region'],
  147.                 [ 'Joe', 'North' ],
  148.                 [ 'Robert', 'South' ],
  149.                 [ 'Michelle', 'East' ],
  150.                 [ 'Erich', 'West' ],
  151.                 [ 'Dafna', 'North' ],
  152.                 [ 'Rob', 'South' ],
  153.                 [ 'Joe', 'North' ],
  154.                 [ 'Robert', 'South' ],
  155.                 [ 'Michelle', 'East' ],
  156.                 [ 'Erich', 'West' ],
  157.                 [ 'Dafna', 'North' ],
  158.                 [ 'Rob', 'South' ],
  159.                 [ 'Joe', 'North' ],
  160.                 [ 'Robert', 'South' ],
  161.                 ['Michelle', 'East']
  162.         ];

  163.         sheet.setArray(0, 0, salesData);
  164.         sheet.setColumnWidth(0, 120);
  165.         sheet.setColumnWidth(1, 120);

  166.     //unlocked cells
  167.         var style = new GC.Spread.Sheets.Style();
  168.         style.locked = false;
  169.         style.backColor = '#C3C3C3';
  170.         sheet.setStyle(-1, 8, style);
  171.         sheet.setStyle(-1, 9, style);
  172.         sheet.setStyle(15, -1, style);
  173.         sheet.setStyle(16, -1, style);
  174.         sheet.setStyle(8, 2, style);
  175.         //locked cells
  176.         var style2 = new GC.Spread.Sheets.Style();
  177.         style2.locked = true;
  178.         style2.backColor = '#F4F8EB';
  179.         sheet.setStyle(13, -1, style2);
  180.         sheet.setStyle(18, 8, style2);
  181.         sheet.setStyle(0, 0, style2)
  182.         sheet.setStyle(0, 1, style2);

  183.         var filter = new GC.Spread.Sheets.Filter.HideRowFilter(new GC.Spread.Sheets.Range(1, 0, 100, 2));
  184.         sheet.rowFilter(filter);

  185.         sheet.comments.add(5, 4, 'locked comment');
  186.         sheet.comments.add(22, 4, 'unlocked comment');
  187.         sheet.comments.get(5, 4).locked(true).displayMode(1);
  188.         sheet.comments.get(22, 4).locked(false).displayMode(1).lockText(false);

  189.         var _commandManager = spread.commandManager();
  190.         _commandManager.execute({
  191.         cmd: "outlineColumn",
  192.         sheetName: sheet.name(),
  193.         index: 11,
  194.         count: 3
  195.     });
  196.         _commandManager.execute({
  197.         cmd: "outlineRow",
  198.         sheetName: sheet.name(),
  199.         index: 18,
  200.         count: 3
  201.     });
  202.         spread.resumePaint();

  203.         var option = {
  204.                 allowSelectLockedCells:true,
  205.                 allowSelectUnlockedCells:true,
  206.                 allowFilter: true,
  207.                 allowSort: false,
  208.                 allowResizeRows: true,
  209.                 allowResizeColumns: false,
  210.                 allowEditObjects: false,
  211.                 allowDragInsertRows: false,
  212.                 allowDragInsertColumns: false,
  213.                 allowInsertRows: false,
  214.                 allowInsertColumns: false,
  215.                 allowDeleteRows: false,
  216.                 allowDeleteColumns: false,
  217.                 allowOutlineColumns: false,
  218.                 allowOutlineRows: false
  219.         };
  220.         sheet.options.protectionOptions = option;
  221.         sheet.options.isProtected = true;

  222.         option = sheet.options.protectionOptions;

  223.       function ContextMenu(){}
  224.   ContextMenu.prototype = new GC.Spread.Sheets.ContextMenu.ContextMenu(spread);
  225.   ContextMenu.prototype.onOpenMenu = function (menuData, itemsDataForShown, hitInfo, spread) {
  226.     console.log(menuData, itemsDataForShown, hitInfo, spread);

  227.     for(let i=0; i<itemsDataForShown.length; i++){
  228.       var item = itemsDataForShown[i];
  229.       if(item.name === "gc.spread.hideColumns"){
  230.         item.disable = false;
  231.       } else if(item.name === "gc.spread.unhideColumns") {
  232.         item.disable = false;
  233.       }
  234.     }
  235.   };

  236. //   将自定义右键菜单赋值给spread.contextMenu
  237.   spread.contextMenu = new ContextMenu();



  238. }


  239. </script>

  240. </html>
复制代码



做了个类似的,跟我上述一样,隐藏后不显示
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2022-11-9 18:18:12
地板
您的问题是隐藏行 取消隐藏后,没有出现;但是您给我的示例demo是对右键菜单的“隐藏”和“取消隐藏”这两个菜单项进行了禁止操作。请问您的问题是什么呢?
回复 使用道具 举报
潘棒棒
注册会员   /  发表于:2022-11-10 08:38:43
5#
我给的demo是开启了表单保护后,
image.png572675780.png
右键菜单的隐藏和显示就没有作用了
image.png80394896.png
下面是开启隐藏和显示功能
image.png952868652.png
image.png317955016.png
然后右键隐藏后,点击显示,被隐藏的列没有显示出来

回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2022-11-10 09:47:59
6#
潘棒棒 发表于 2022-11-10 08:38
我给的demo是开启了表单保护后,

右键菜单的隐藏和显示就没有作用了

您好,您这边给我的demo,右键菜单不能正常显示,修改引用资源后,可以正常显示。

并且这边根据您的demo测试没有问题,如下动图所示:

最后,附件中上传了我这边测试demo,如果上述测试不符合您的需求,您可以在此demo中进行修改并上传,这边进一步调研。
隐藏列.gif

取消隐藏列.html

5.39 KB, 下载次数: 32

回复 使用道具 举报
潘棒棒
注册会员   /  发表于:2022-11-10 09:49:35
7#
Ellia.Duan 发表于 2022-11-10 09:47
您好,您这边给我的demo,右键菜单不能正常显示,修改引用资源后,可以正常显示。

并且这边根据您的de ...

好的,我再试一下
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2022-11-10 12:12:18
8#
好的,您尝试后如果还有问题,可以追帖询问。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部