请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

米拉咪啪

注册会员

2

主题

4

帖子

14

积分

注册会员

积分
14
  • 60

    金币

  • 2

    主题

  • 4

    帖子

最新发帖
米拉咪啪
注册会员   /  发表于:2025-7-1 12:06  /   查看:47  /  回复:4
想实现整行整列移动的效果,没有找到现成的函数可以调用,想知道allowDragHeaderToMove方法是如何实现的?

4 个回复

倒序浏览
米拉咪啪
注册会员   /  发表于:2025-7-2 10:58:22
来自 4#
Wilson.Zhang 发表于 2025-7-1 17:27
您好!allowDragHeaderToMove提供的拖动是UI操作功能,如下动图所示,以列为例,将一列移动到新位置,新位 ...

copyto需要反复手动插入和删除,感觉用dragDrop更符合我的预期:
    workbook.commandManager().execute({
    cmd: 'dragDrop',
    sheetName: sheetName,
    fromRow: -1,
    fromColumn: 29,
    toRow: -1,
    toColumn: 28,
    rowCount: -1,
    columnCount: 1,
    copy: false,
    insert: true,
    option: GC.Spread.Sheets.CopyToOptions.all
    })
不过后续还是期望可用直接调用api实现行列移动
回复 使用道具 举报
米拉咪啪
注册会员   /  发表于:2025-7-1 16:23:29
沙发
期望效果:将整行或整列移动到指定的新行列位置。示例为a、b、c三列,将c列移动到b列位置,变为a、c、b三列,现在搜索到dragdrop方法比较相似。想请问还有没有其他的方法可以调用
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2025-7-1 12:06:16
板凳
您好!allowDragHeaderToMove提供的拖动是UI操作功能,如下动图所示,以列为例,将一列移动到新位置,新位置位于两列之间,看起来像插入一列,同时原位置的列像被删除了。


您想要通过代码提供移动行列,以列为例,那可以在目标位置插入新列,并使用copyTo方法将待移动区域内容拷贝至目标位置,然后删除原待移动区域。自定义行移动同理。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2025-7-2 14:41:15
5#
本帖最后由 Wilson.Zhang 于 2025-7-2 14:50 编辑
米拉咪啪 发表于 2025-7-2 10:58
copyto需要反复手动插入和删除,感觉用dragDrop更符合我的预期:
    workbook.commandManager().execut ...

您说的没错,拖动行列的UI行为对应的命令正是dragDrop,如下图所示:


不好意思,此前我的回答不太高效。舍近求远了。您的方案是对的。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部