SpreadJS表单保护,禁用编辑

很多用户对如何设置SpreadJS单元格是编辑状态比较困惑。在SpreadJS示例网站上表单保护章节有对接口的详细说明但是仍然有用户对表单保护机制并不是很理解。下面我们就详细说明下spreadJS的表单保护机制,如何不让单元格被编辑。

发布于 2016/05/23 00:00

 

很多用户对如何设置SpreadJS单元格是编辑状态比较困惑。在SpreadJS示例网站上表单保护章节有对接口的详细说明,但是仍然有用户对表单保护机制并不是很理解。下面我们就详细说明下spreadJS的表单保护机制,如何不让单元格被编辑。

SpreadJS 虽然是一款控件但是他并不是像其他控件一样只要设置disabled 等属性就可以禁止编辑。和Excel一样需要同时设定锁定(locked)和保护(Protect)两个状态为true,才能让单元格禁止编辑。

具体我们分三种情况详细说明一下。

1. 所有单元格都不能编辑

这种情况比较简单只要设置sheet.setIsProtected(true);就可以实现效果,因为sheet默认是被锁定的,我们只需要设置保护即可。

2. Sheet中大部分单元格不可编辑只有少数行列可编辑。

这种情况就和网站示例中所展示的效果一致,绿色单元格格是可以编辑的。其余不可以编辑。

如果我们不希望单元格被编辑,只要给单元格设置一个locked 为true的style即可,如果整行都不希望被编辑,使用setStyle方法时第二个参数设置为-1,那么这一行都被locked了。

3. Sheet中大部分单元格可以编辑少数不能编辑。

和上面第二种情况相反,我们可能只希望少数几个单元格是不能编辑的,比如希望第一行作为列头是不能编辑的。这时只要设置sheet默认loecked为false,然后将第一行锁定即可

var defaultStyle = new GcSpread.Sheets.Style();
defaultStyle.locked = false;
activeSheet.setDefaultStyle(defaultStyle, GcSpread.Sheets.SheetArea.viewport);
var style = new GcSpread.Sheets.Style();
style.locked = true;
style.backColor = "red";
activeSheet.setStyle(0, -1, style);
activeSheet.setIsProtected(true);

 

 

以上三种情况就是我们所能遇到的所有情况了。只要理解了表单保护的机制,设置起来是很简单的。只要记得最后一定要setIsProtected(true)!

在RunJS 上有示例代码,大家Fork后可以测试。http://runjs.cn/detail/aqahq0n2

 

 

 

更多资源

SpreadJS中文学习指南:http://demo.grapecity.com.cn/SpreadJS/TutorialSample/#/samples

SpreadJS在线英文产品文档:http://sphelp.grapecity.com/webhelp/SpreadJSWeb/webframe.html#welcome.html

如果您对SpreadJS产品感兴趣,可以到官方网站下载试用:/developer/spreadjs

如果你有疑问,可以到GCDN论坛获得技术支持:http://gcdn.grapecity.com.cn

关于葡萄城

葡萄城是专业的软件开发技术和低代码平台提供商,以“赋能开发者”为使命,致力于通过表格控件、低代码和BI等各类软件开发工具和服务,一站式满足开发者需求,帮助企业提升开发效率并创新开发模式。葡萄城开发技术始于1980年,40余年来始终聚焦软件开发技术,有深厚的技术积累和丰富的产品线。是业界能够同时赋能软件开发和低代码开发的企业。凭借过硬的产品能力、活跃的用户社区和丰富的伙伴生态,与超过3000家合作伙伴紧密合作,产品广泛应用于信息和软件服务、制造、交通运输、建筑、金融、能源、教育、公共管理等支柱产业。

推荐相关案例
推荐相关资源
关注微信
葡萄城社区二维码

关注“葡萄城社区”

活字格低代码二维码

关注“活字格低代码”

想了解更多信息,请联系我们, 随时掌握技术资源和产品动态