找回密码
 立即注册

QQ登录

只需一步,快速开始

Barry
中级会员   /  发表于:2024-3-18 17:09  /   查看:2254  /  回复:5
1金币
本帖最后由 Joestar.Xu 于 2024-3-20 14:17 编辑

产品:SpreadJS

最佳答案

查看完整内容

感觉可以通过监听DragFillBlock, DragFillBlockCompleted两个事件来达成需求。填充开始时会触发DragFillBlock事件,事件参数可以获得填充范围,通过填充范围可以先把要填充单元格的tag 信息都暂存起来,待填充完成,触发了DragFillBlockCompleted事件后,在其回调函数中再将tag信息都设回给对应单元格

5 个回复

倒序浏览
最佳答案
最佳答案
AKA_HSTS
注册会员   /  发表于:2024-3-18 17:09:54
来自 5#
感觉可以通过监听DragFillBlock, DragFillBlockCompleted两个事件来达成需求。填充开始时会触发DragFillBlock事件,事件参数可以获得填充范围,通过填充范围可以先把要填充单元格的tag 信息都暂存起来,待填充完成,触发了DragFillBlockCompleted事件后,在其回调函数中再将tag信息都设回给对应单元格

评分

参与人数 1金币 +200 收起 理由
Joestar.Xu + 200 赞一个!

查看全部评分

回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-3-18 17:45:04
3#
您好,
在填充时可以选择“不带格式填充“,效果如下图:
image.png638961791.png
关于代码设置请参考学习指南:
https://demo.grapecity.com.cn/sp ... l/basic-fill/purejs
回复 使用道具 举报
Barry
中级会员   /  发表于:2024-3-19 10:45:55
4#
Lynn.Dou 发表于 2024-3-18 17:45
您好,
在填充时可以选择“不带格式填充“,效果如下图:

选择了不带格式填充,单元格类型没变了,但是单元格tag被填充了,我给单元格设置了tag来存储一些数据,填充会覆盖这些
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-3-19 17:25:28
6#
楼上的思路没有问题,可以参考下面这段代码:

  1. var dragTagCatch;
  2. spread.bind(GC.Spread.Sheets.Events.DragFillBlock, function (s, e) {
  3.   var sheet = e.sheet,
  4.     fillRange = e.fillRange;
  5.   dragTagCatch = [];
  6.   for (var i = 0; i < fillRange.rowCount; i++) {
  7.     dragTagCatch[i] = [];
  8.     for (var j = 0; j < fillRange.colCount; j++) {
  9.       dragTagCatch[i][j] = sheet.getTag(fillRange.row + i, fillRange.col + j);
  10.     }
  11.   }
  12.   console.log(dragTagCatch);
  13. });
  14. spread.bind(GC.Spread.Sheets.Events.DragFillBlockCompleted, function (s, e) {
  15.   var sheet = e.sheet,
  16.     fillRange = e.fillRange;
  17.   console.log(sheet.toJSON());
  18.   for (var i = 0; i < fillRange.rowCount; i++) {
  19.     for (var j = 0; j < fillRange.colCount; j++) {
  20.       sheet.setTag(fillRange.row + i, fillRange.col + j, dragTagCatch[i][j]);
  21.     }
  22.   }
  23.   console.log(sheet.toJSON());
  24. });
复制代码
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-3-28 15:33:02
7#
没有看到您再回复,这个帖子先结帖了。如果问题仍未解决,欢迎继续回帖沟通
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部