afei_liuge 发表于 2023-8-28 18:17:19

表是否可以同时按多个列排序

背景:项目中要用到表格中可以按多个列进行排序,目前,只能点击了哪一列 就会按这一列排序。

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

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

Richard.Ma 发表于 2023-8-29 09:10:50

明白你的需求,目前产品只能支持单列排序,没法实现多列排序

afei_liuge 发表于 2023-8-29 09:27:09

Richard.Ma 发表于 2023-8-29 09:10
明白你的需求,目前产品只能支持单列排序,没法实现多列排序

能不能获取列头的单击排序事件?拦截事件然后人工处理是否可行呢?

Richard.Ma 发表于 2023-8-29 15:35:42

没有排序事件,

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

1.关闭默认sort
2.自定义单元格实现sort图标
3.点击时判断鼠标在列头单元格的位置是否在图标上(这块暂时想不到什么办法)
4.最重要的是,需要对整个sheet自己写多列的排序逻辑(实际上是需要对整个usedRange区域的数组进行变更然后替换)
页: [1]
查看完整版本: 表是否可以同时按多个列排序