找回密码
 立即注册

QQ登录

只需一步,快速开始

afei_liuge
金牌服务用户   /  发表于:2023-8-28 18:17  /   查看:2391  /  回复:3
背景:项目中要用到表格中可以按多个列进行排序,目前,只能点击了哪一列 就会按这一列排序。

期望: 点击了列排序后,之前的排序字段可以在这个排序后再进行排序。

比如: 首点击了A列列头 ,表格按A排序了。 然后点击了B列,这时先按B列排序, 再进行A列排序。
相当与 SQL 中的  : Order by  B Desc , A Asc

3 个回复

倒序浏览
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-8-29 09:10:50
沙发
明白你的需求,目前产品只能支持单列排序,没法实现多列排序
回复 使用道具 举报
afei_liuge
金牌服务用户   /  发表于:2023-8-29 09:27:09
板凳
Richard.Ma 发表于 2023-8-29 09:10
明白你的需求,目前产品只能支持单列排序,没法实现多列排序

能不能获取列头的单击排序事件?拦截事件然后人工处理是否可行呢?
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-8-29 15:35:42
地板
没有排序事件,

如果你要做的话,实现多列排序这个功能估计是很复杂的。要考虑:

1.关闭默认sort
2.自定义单元格实现sort图标
3.点击时判断鼠标在列头单元格的位置是否在图标上(这块暂时想不到什么办法)
4.最重要的是,需要对整个sheet自己写多列的排序逻辑(实际上是需要对整个usedRange区域的数组进行变更然后替换)
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部