问:可以设置表单的行数列数吗/strong>
可以通过相关API来设置表单的行数、列数,默认情况表单会有200行、20列。例如:sheet.setRowCount(20, GC.Spread.Sheets.SheetArea.viewport);设置了表单行数为20行。
问:如何在新增行的时候复制上一行的样式/strong>
可以使用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方法后当前表单位置未移动的问题/strong>
可通过获取到sheet的index后调用startSheetIndex方法来定位。
问:如何处理 错“将带来重复的合并效果”/strong>
确定一下粘贴范围是不是已经存在合并单元格了,如果是,那么粘贴过来会有重复合并的效果。
举个例子:有两个合并单元格(0,0,2,2)、(2,1,2,2)。将(0,0,2,2)copyto至 2,1(toRow:2,toColumn:1)就会出现重复合并的情况,因为2,1,2,2上已经存在了一个合并单元格,该合并单元格与将要粘贴的区域存在冲突。
问:如何判断当前选中的单元格处于可显示区域/strong>
用TopRowChanged和LeftColumnChanged事件进行判断
问:点击新增按钮会触发什么事件/strong>
SheetTabClick事件中可以通过判断来获取 ,例如:
spread.bind(GC.Spread.Sheets.Events.SheetTabClick, function (e, info) { alert("Index (" + info.sheetTabIndex + ")");});
如果是,点击新增Sheet页alert的结果是-1。
问:如何获取一个单元格中的选中数据/strong>
SpreadJS产品本身的接口是获取不到的,HTML中可以通过window.getSelection()来获取鼠标选中的范围的内容,
问:(表单保护)如何设置单元格锁定/strong>
具体我们分三种情况详细说明一下。
这种情况比较简单只要设置sheet.setIsProtected(true);就可以实现效果,因为sheet默认是被锁定的,我们只需要设置保护即可。
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 更多资源或正版授权的朋友,可以咨询【客服】了解哦~
标签:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!