找回密码
 立即注册

QQ登录

只需一步,快速开始

vic

注册会员

16

主题

50

帖子

138

积分

注册会员

积分
138

[已处理] 报错问题

vic
注册会员   /  发表于:2021-6-29 17:46  /   查看:2733  /  回复:5
Error: 无效的 to row index: 28 (必须在 -1 到 27 之间)。
repeatSheet(sheet,row,col,cols,total){
            let rowIndex=Number(row);
            let colIndex=Number(col);
            let colLen=Number(cols);
            let _this=this;
            for(let i=0; i<total; i++){
                sheet.copyTo(rowIndex,colIndex,rowIndex+i,colIndex,1,colLen,GC.Spread.Sheets.CopyToOptions.all);
                sheet.setRowHeight(rowIndex+i, "50", GC.Spread.Sheets.SheetArea.viewport);
            }
        },
image.png914831237.png

大神们,帮忙看下,怎么解决


image.png55499876.png

5 个回复

倒序浏览
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-6-29 17:59:20
沙发
您好,
报错提示的很清楚了,单元格的索引范围不对。
比如:sheet一共有20行,那么行的索引范围就是 0 至 19, -1表示选择所有行。
您检查下sheet是否少了一行。

以上是猜测的问题原因,为了更快解决您的问题,建议直接提供能复现此问题的可运行demo。
通过代码更直接找到问题原因。

回复 使用道具 举报
vic
注册会员   /  发表于:2021-6-29 18:04:58
板凳
我们为了使模版体积减小,把不用的行删除了,这个不能自动扩展行吗
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-6-30 09:11:26
地板
即便是将不用的行删除了,使用的索引也应该在有效范围内的。
比如,表单一共有100行,但您实际含有数据的只有20行。
您将剩余的80行删除,这是没问题的。
但是剩余的20行,行索引范围为0-19, 并且 -1 表示所有的行(这20行),
此时您在代码中使用索引 20 ,肯定就不对了,因为表单没有第21行。

上述只是推测的原因,建议您还是直接上传个demo,能更快定位到问题原因。

自动扩展请参考下方学习指南:
https://demo.grapecity.com.cn/sp ... /table-auto-expand#
https://demo.grapecity.com.cn/sp ... paste-extend-range#

回复 使用道具 举报
vic
注册会员   /  发表于:2021-6-30 09:23:38
5#
好的,了解了,我通知业务把表单放大些,然后测试下
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-6-30 09:26:42
6#
本帖最后由 Lynn.Dou 于 2021-6-30 09:27 编辑

好的,有问题继续沟通。
如果问题仍不能解决,请直接上传能复现此问题的demo。

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部