找回密码
 立即注册

QQ登录

只需一步,快速开始

烟雨入墨

注册会员

8

主题

22

帖子

68

积分

注册会员

积分
68
烟雨入墨
注册会员   /  发表于:2024-12-2 09:11  /   查看:113  /  回复:4
1金币
copyTo无法支持拷贝行高,但在分组收起时又没办法使用getRowHeight去获取行高,因为此时获取的高度为0,请问是否有其他方案可以在分组收起的行中正常进行拷贝流程

最佳答案

查看完整内容

您好!可以通过RangeGroupStateChanging事件监听被折叠的分组中每行的行高,记录这些行高,折叠后也能够了解到被折叠分组中的各行行高。之后,通过copyTo复制折叠分组中的行粘贴后,根据保存的折叠分组行高设置即可。 可以参考如下代码:

4 个回复

倒序浏览
最佳答案
最佳答案
Wilson.Zhang
超级版主   /  发表于:2024-12-2 09:11:55
来自 2#
您好!可以通过RangeGroupStateChanging事件监听被折叠的分组中每行的行高,记录这些行高,折叠后也能够了解到被折叠分组中的各行行高。之后,通过copyTo复制折叠分组中的行粘贴后,根据保存的折叠分组行高设置即可。

可以参考如下代码:
  1. sheet.bind(GC.Spread.Sheets.Events.RangeGroupStateChanging, function(e, args) {
  2.     console.log('range group state changing, args: ', args);
  3.     //  判断行分组或列分组
  4.     var outline = args.isRowGroup ? sheet.rowOutlines : sheet.columnOutlines;
  5.     //  根据分组index和level获取具体分组信息
  6.     var outlineInfo = outline.find(args.index, args.level);
  7.     var rowInfo = [];
  8.     //  遍历分组内各行,
  9.     for (var i = outlineInfo.start; i <= outlineInfo.end; i++) {
  10.         rowInfo.push({
  11.             row: args.isRowGroup ? i : null,
  12.             col: args.isRowGroup ? null : i,
  13.             height: args.isRowGroup ? sheet.getRowHeight(i) : null,
  14.             width: args.isRowGroup ? null : sheet.getColumnWidth()
  15.         });
  16.     }
  17.      console.log('rowInfo: ', rowInfo);   
  18. });
复制代码
回复 使用道具 举报
烟雨入墨
注册会员   /  发表于:2024-12-2 13:51:24
3#
Wilson.Zhang 发表于 2024-12-2 13:38
您好!可以通过RangeGroupStateChanging事件监听被折叠的分组中每行的行高,记录这些行高,折叠后也能够了 ...

好滴,感谢解答
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-12-2 17:13:46
4#

不客气!
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:6 天前
5#
您好,由于本帖较长时间没有回复,本帖先做结贴处理了,后续如您有其他问题,欢迎您开新帖提问。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部