找回密码
 立即注册

QQ登录

只需一步,快速开始

biz-dev

中级会员

99

主题

266

帖子

917

积分

中级会员

积分
917

微信认证勋章

biz-dev
中级会员   /  发表于:2020-5-20 10:54  /   查看:3399  /  回复:5
你好,sheet移动的话通过 GC.Spread.Sheets.Events.SheetMoved 是可以监听到的,可是这个动作好像没有command 和API来支持。请问如果我想自己实现sheet移动,要通过什么方式来实现。
最后能附个例子,谢谢!

5 个回复

倒序浏览
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-5-20 16:19:35
沙发
这个目前的public api无法去操作sheet的顺序,这里咱们具体的应用场景是什么?如果是合理的场景我们可以当做需求上报
回复 使用道具 举报
biz-dev
中级会员   /  发表于:2020-5-20 16:42:50
板凳
就是协同系统,当一个人操作了sheet信息(改变sheet的顺序),其他使用者需要同步到当前sheet的顺序,否者有些同步数据和统计数据会无法对应。
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-5-20 17:57:34
地板
场景我理解了,能够提供一个配套该场景的Excel模板或者ssjson,方便我们去阐述问题。
回复 使用道具 举报
biz-dev
中级会员   /  发表于:2020-5-20 19:38:10
5#
你好
实际的场景可能提供不了,因为需要后端的支持

但是可以发一个之前你们发过的协同的例子

大致的目的就是两侧同时移动sheet

多人同步协同编辑.html

3.33 KB, 下载次数: 86

回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-5-20 23:00:25
6#
直接改变spread.sheets内容的顺序即可
  1. var oldIndex = 3, newIndex = 1

  2. if(oldIndex > newIndex){
  3.     var sheets = spread.sheets.splice(oldIndex, 1);
  4.     spread.sheets.splice(newIndex, 0 ,sheets[0])
  5. }
  6. else{
  7.     spread.sheets[newIndex] = spread.sheets.splice(oldIndex, 1, spread.sheets[newIndex])[0]
  8. }
  9. spread.refresh()
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部