找回密码
 立即注册

QQ登录

只需一步,快速开始

benben_002

初级会员

29

主题

132

帖子

367

积分

初级会员

积分
367

微信认证勋章

benben_002
初级会员   /  发表于:2016-4-20 15:45  /   查看:5219  /  回复:5
我写了,如下代码
  1. for ( var i = 0; i < headArray.length; i++) {
  2.                 var column = sheet.getColumn(i + 1);
  3.                 if (headArray[i] == "endPortNameDisply") {
  4.                         //column.cellType(new AutoCompleteCellType(availableTags));
  5.                         column.locked(true);
  6.                 } else if (headArray[i] == "transitName") {
  7.                         column.locked(true);
  8.                 } else if(headArray[i]=="companyName"){
  9.                         column.locked(true);
  10.                 }else if(headArray[i]=="portArea"){
  11.                         column.locked(true);
  12.                 }
  13.                 // 显示的位置
  14.                 column.hAlign(columnobj[headArray[i]].align);
  15.                 column.tag(columnobj[headArray[i]].tag);
  16.         }
复制代码
锁定了几列不能编辑,结果是都不好用,可以编辑。
api
  1. activeSheet.getColumn(3).locked(true);
复制代码

[size=14.6667px]就这么写的啊。。。。。。

5 个回复

倒序浏览
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-4-20 15:52:54
沙发
一定要设置 sheet.setIsProtected(true);
回复 使用道具 举报
benben_002
初级会员   /  发表于:2016-4-20 16:19:12
板凳
dexteryao 发表于 2016-4-20 15:52
一定要设置 sheet.setIsProtected(true);

设置后,怎么所有列都不能编辑了。。。。。
回复 使用道具 举报
benben_002
初级会员   /  发表于:2016-4-20 16:49:20
地板
sheet.setIsProtected(true);设置后,已经不能复制粘贴,拖拽,自动生成,页面卡住不动。
首先,setIsProtected设置后,理论上应该是我锁哪列,哪列被锁,现在是没设置的也被锁。
于是,我只能,把所有的列都设置下,然后,不想锁的,设置false,这有点坑吧。。。。。。。

其次,setIsProtected设置后,所有的列的复制,粘贴,拖住,自动生成,已不好用,应该是我锁的可以不好用(这个有带在考虑,应该是这些功能,在锁的情况下,让我自己来决定),没锁的应该,必须带有这些功能吧。

再次,现在setIsProtected设置后,我拖拽后,页面已卡死,编辑输入已经开始错误
如下图

44的编辑框,编辑输入6,然后编辑结束后,还显示44
在次进入编辑结果又是6,在结束还是44

在编辑,修改成64,结束还是44

画面已经不在重画,应该是
1.jpg
2.jpg
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-4-20 18:21:33
5#
您可以对sheet进行locked。然后设置不locked的行列。
您可以在 http://demo.gcpowertools.com.cn/ ... /samples/protection demo绿色区域测试您的操作。绿色区域之间的列的复制,粘贴拖动都是可以的。
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-4-21 09:55:43
6#
阻止拖拽复制。  
activeSheet.bind(GcSpread.Sheets.Events.DragDropBlock, function (e, args) {
    if(args.copy){
        args.cancel = true;
    }
    });
    };
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部