找回密码
 立即注册

QQ登录

只需一步,快速开始

spreadjs初学者

初级会员

30

主题

112

帖子

264

积分

初级会员

积分
264
spreadjs初学者
初级会员   /  发表于:2022-1-16 21:50  /   查看:2062  /  回复:3
1金币
专家,您好!
     对于如下表格(A图):
image.png607359618.png
想在中间插入一整行,希望效果如下图所示(B图):
image.png408562011.png
但是事实上是如下所示(C图):
image.png235626219.png
这个不是我想要的,因为我希望新插入的行会自动复制插入位置的行的格式,就是B图的效果,因为SpreadJS是高度兼容Excel的,所以我在Excel里也测试了一下在中间插入整行的操作,发现Excel的效果就是B图,也就是我想要的结果,同时的操作,在SpreadJS中的结果却是C图。
我的问题是,SpreadJS中是否存在某个参数,设置一下就可以实现插入行的时候产生B图的效果,或者有没有一个全局的方法可以实现这种效果,谢谢!
A1.png

最佳答案

查看完整内容

你好,我们的插入行默认是不会自动复制上一行的样式,如需实现类似excel的效果,可以使用下面的代码。sheet.bind(GC.Spread.Sheets.Events.RowChanged, function (e, info) { var sheet = info.sheet; if (info.sheetArea === GC.Spread.Sheets.SheetArea.viewport) { sheet.copyTo(info.row + 1, 0, info.row, 0, 1, sheet.getColumnCount(), GC.Spread.Sheets ...

3 个回复

倒序浏览
最佳答案
最佳答案
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2022-1-16 21:50:06
来自 2#
你好,我们的插入行默认是不会自动复制上一行的样式,如需实现类似excel的效果,可以使用下面的代码。sheet.bind(GC.Spread.Sheets.Events.RowChanged, function (e, info)
        {
            var sheet = info.sheet;
            if (info.sheetArea === GC.Spread.Sheets.SheetArea.viewport)
            {
                sheet.copyTo(info.row + 1, 0, info.row, 0, 1, sheet.getColumnCount(), GC.Spread.Sheets.CopyToOptions.all);
                var rh = sheet.getRowHeight(info.row + 1, GC.Spread.Sheets.SheetArea.viewport);
                // 挂起事件响应
                sheet.suspendEvent();
                sheet.setRowHeight(info.row, rh, GC.Spread.Sheets.SheetArea.viewport);
                // 恢复事件响应
                sheet.resumeEvent();
            }
        });



回复 使用道具 举报
spreadjs初学者
初级会员   /  发表于:2022-1-17 10:21:22
3#
好的,谢谢,我先按您的方法试试看
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2022-1-17 10:48:03
4#
spreadjs初学者 发表于 2022-1-17 10:21
好的,谢谢,我先按您的方法试试看

不用客气,那这边先结贴了,有新问题欢迎开新帖交流~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部