找回密码
 立即注册

QQ登录

只需一步,快速开始

miSpreadjs

注册会员

20

主题

50

帖子

190

积分

注册会员

积分
190
miSpreadjs
注册会员   /  发表于:2023-8-14 18:49  /   查看:2064  /  回复:6
1金币
- 需求:希望通过葡萄城的API来移动整列
- 例如当前表格有10列,我们自己实现一个按钮,通过手动调用葡萄城API来将当前列(第3列)挪动到指定列(第5列),同时目标列(原第5列)的原数据自动后移到第6列。整体还是10列不变,数据和样式均保持不变。

请求问类似的api吗?moveTo貌似会替换掉目标列的数据。


最佳答案

查看完整内容

是的,设置typeName就行,可以保证自定义的特性能被序列化。 这个案例中,也是自定义了一个单元格类型,你可以尝试,把按钮执行的代码改成moveTo就能测试出结果了,其他都不用动

6 个回复

倒序浏览
最佳答案
最佳答案
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-8-14 18:49:33
来自 7#
是的,设置typeName就行,可以保证自定义的特性能被序列化。

这个案例中,也是自定义了一个单元格类型,你可以尝试,把按钮执行的代码改成moveTo就能测试出结果了,其他都不用动


  1. spread.getActiveSheet().moveTo(0,0,0,4,200,1,GC.Spread.Sheets.CopyToOptions.all);
复制代码



image.png378772582.png
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-8-15 10:03:26
2#
您好,要实现这样的需求,可以先在第六列增加一列,然后将第三列的数据moveTo到第六列,再将第三列删除即可。
回复 使用道具 举报
miSpreadjs
注册会员   /  发表于:2023-8-15 16:30:02
3#
你好,通过moveTo不能将自定义cellType同步移动?


现象:比如将第3列挪到到第5列,第3列的每行都做了自定义单元格 sheet.setCellType(2, 3, new CellType())
通过sheet.moveTo(-1, 3, -1, 5, -1, 1, GC.Spread.Sheets.CopyToOptions.all)

移动之后,第5列的每行自定义的celltype逻辑丢失了
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-8-15 17:49:06
4#
请参考这个教程
https://demo.grapecity.com.cn/sp ... alization#timestamp

通过设置typeName来支持自定义特性序列化即可在移动时保持
回复 使用道具 举报
miSpreadjs
注册会员   /  发表于:2023-8-15 19:00:10
5#
Richard.Ma 发表于 2023-8-15 17:49
请参考这个教程
https://demo.grapecity.com.cn/spreadjs/SpreadJSTutorial/features/workbook/custom-ite ...

案例里是做序列化和发序列化。我只需要移动自定义的celltype,是通过设置typeName就可以吗?我试了下没效果。能做个案例吧,支持自定义celltype在moveTo中的支持
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-8-16 10:26:00
6#
参考上面的教程我使用了moveTo接口,是可以正常移动的。

image.png708299255.png

image.png88310545.png

您直接参考楼上提供的教程链接应该就可以了,如果还是不行,您提供一个可以复现您问题的Demo,我们这边帮您调研一下。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部