找回密码
 立即注册

QQ登录

只需一步,快速开始

Samuer
金牌服务用户   /  发表于:2022-11-2 15:39  /   查看:1599  /  回复:8
我们需要一个行列排序功能,需求是选择某些行,对这些行种的某一列就行排序,排序的同时,行要跟着一起移动,请问应该怎么做?


在 spreadjs 中,在行头的位置按 shift + 左键 可以移动整行,这个用 api 的话应该怎么做?

8 个回复

倒序浏览
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-11-2 17:24:17
沙发
您好,
从描述中没太理解您的需求,行列排序功能这一块可以结合具体的示例详细描述下呢?
另,“行头的位置按 shift + 左键 可以移动整行”,这边在官网在线表格编辑器测试操作,并未实现移动整行的的效果,请问您是如何实现的呢?

关于移动整行,可以通过选中整行然后拖动来实现,您看下是否满足您的需求。
如果想通过代码实现,可以使用dragDrop命令:
https://demo.grapecity.com.cn/sp ... ands.html#.dragDrop
回复 使用道具 举报
Samuer
金牌服务用户   /  发表于:2022-11-2 18:12:03
板凳
image.png268920287.png
入上图所示,4,5,6,7,8 行的第一列的值是未排序的,但是我要根据第一列的值来进行整行排序,得到下面的结果
image.png714251098.png

整行移动,是选中某一行,鼠标放到行头第一个单元格左侧边框,鼠标样式变为 可拖动样式,按下shift 和 左键进行上下移动

dragdrop的那个我试了没生效,不知道哪里弄错了
image.png587933044.png
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-11-2 18:24:19
地板
如下图,参考下方代码:
  1. spread.commandManager().execute({cmd: "dragDrop", sheetName: "Sheet2", fromRow:5, fromColumn:-1, toRow:4, toColumn:-1, rowCount:1, columnCount:-1, copy: false, insert: true, option: GC.Spread.Sheets.CopyToOptions.value});
复制代码

image.png620169677.png
其中insert表示是否插入
copytrue表示复制,为false表示剪切。
shfit+鼠标左键的UI操作实际对应的即 copy为false,insert为true,您参考上述代码实际测试下。
回复 使用道具 举报
Samuer
金牌服务用户   /  发表于:2022-11-2 19:20:49
5#
Lynn.Dou 发表于 2022-11-2 18:24
如下图,参考下方代码:

OK,应该可以了,但是要自己去排序,不知道后面是否可以出个功能来做这个行排序的功能
回复 使用道具 举报
Samuer
金牌服务用户   /  发表于:2022-11-2 19:23:07
6#
Samuer 发表于 2022-11-2 19:20
OK,应该可以了,但是要自己去排序,不知道后面是否可以出个功能来做这个行排序的功能

之前好像用的是行内值的排序
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-11-3 09:51:21
7#
Samuer 发表于 2022-11-2 19:23
之前好像用的是行内值的排序

SpreadJS目前的排序设计是与Excel一致的,即是对单元格区域进行排序。
根据您的需求,可以将单元格区域设置为整行,示例代码如下:
  1. sheet.sortRange(1, -1, 5, -1, true, [
  2.     { index: 1, ascending: false}
  3. ]);
复制代码

image.png33203124.png
API链接:
https://demo.grapecity.com.cn/sp ... Worksheet#sortrange
回复 使用道具 举报
Samuer
金牌服务用户   /  发表于:2022-11-3 17:40:57
8#
Lynn.Dou 发表于 2022-11-3 09:51
SpreadJS目前的排序设计是与Excel一致的,即是对单元格区域进行排序。
根据您的需求,可以将单元格区域 ...

好的,谢谢
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-11-3 17:57:22
9#
您客气了,那本帖就先结贴了,有问题欢迎另开新贴交流。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部