提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|使用教程|编辑:陈津勇|2019-10-28 11:40:19.157|阅读 983 次
概述:本文整理了SpreadJS电子表格控件表单相关的问题和答案。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
SpreadJS是面向企业级应用开发、基于HTML5的纯JavaScript电子表格控件,可用不到100行代码,在前端实现Excel的全部功能。提供移动跨平台和浏览器支持,同时满足.NET、Java、App等应用程序中的Web Excel组件开发、数据填报、在线文档、图表公式联动、类Excel UI设计。
本文整理了该JavaScript电子表格控件的表单相关问题及答案,希望对你有所帮助。
问:可以设置表单的行数列数吗?
可以通过相关API来设置表单的行数、列数,默认情况表单会有200行、20列。例如:sheet.setRowCount(20, GC.Spread.Sheets.SheetArea.viewport);设置了表单行数为20行。
问:如何在新增行的时候复制上一行的样式?
可以使用getActualStyle()获取上一行的样式,在使用setStyle()给新增行设置样式,参考代码:
sheet.addRows(intIndex,1); for(var i=0;i<sheet.getColumnCount();i++){ var actualStyle = sheet.getActualStyle(intIndex-1,i); sheet.setStyle(intIndex,i,actualStyle); }
问:如何解决调用setActiveSheet方法后当前表单位置未移动的问题?
可通过获取到sheet的index后调用startSheetIndex方法来定位。
问:如何处理报错“将带来重复的合并效果”?
确定一下粘贴范围是不是已经存在合并单元格了,如果是,那么粘贴过来会有重复合并的效果。
举个例子:有两个合并单元格(0,0,2,2)、(2,1,2,2)。将(0,0,2,2)copyto至 2,1(toRow:2,toColumn:1)就会出现重复合并的情况,因为2,1,2,2上已经存在了一个合并单元格,该合并单元格与将要粘贴的区域存在冲突。
问:如何判断当前选中的单元格处于可显示区域?
用TopRowChanged和LeftColumnChanged事件进行判断
问:点击新增按钮会触发什么事件?
SheetTabClick事件中可以通过判断来获取 ,例如:
spread.bind(GC.Spread.Sheets.Events.SheetTabClick, function (e, info) { alert("Index (" + info.sheetTabIndex + ")"); });
如果是,点击新增Sheet页alert的结果是-1。
问:如何获取一个单元格中的选中数据?
SpreadJS产品本身的接口是获取不到的,HTML中可以通过window.getSelection()来获取鼠标选中的范围的内容,
问:(表单保护)如何设置单元格锁定?
很多用户对如何设置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)!
*想要获得 SpreadJS 更多资源或正版授权的朋友,可以咨询了解哦~
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn
本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@cahobeh.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢