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

QQ登录

只需一步,快速开始

jscqkj

中级会员

68

主题

151

帖子

543

积分

中级会员

积分
543
jscqkj
中级会员   /  发表于:2020-10-13 16:25  /   查看:2250  /  回复:8
1金币
本帖最后由 jscqkj 于 2020-10-13 16:27 编辑

spreadjs如何实现Excel的这个 组合排序的功能?, 有没有例子
QQ图片20201013162408.jpg

最佳答案

查看完整内容

分析您的代码,传参时参数有误,从图中来看,你表格数据共5行,但是传入参数为6。将其改为5即可实现排序。

8 个回复

倒序浏览
最佳答案
最佳答案
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-10-13 16:25:29
来自 9#
本帖最后由 lynn512 于 2020-10-19 13:43 编辑

分析您的代码,传参时参数有误,从图中来看,你表格数据共5行,但是传入参数为6。将其改为5即可实现排序。 image.png172149962.png
  1. sortcommand() {
  2.                 // let columnCount = this.activeSheet.getColumnCount()
  3.                 // this.activeSheet.sortRange(1, 0, 6, columnCount, true, [
  4.                 //     { index: 2, ascending: false},  //降序
  5.                 // ]);
  6.                 var table = this.activeSheet.tables.all()[0];
  7.                 var colCount = table.dataRange().colCount;
  8.                 this.activeSheet.sortRange(1, 0, 5, colCount, true, [
  9.                     { index: 2, ascending: false}  //降序
  10.                 ]);
  11.             },
复制代码



回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-10-13 18:22:13
2#
您好,SJS可使用 sortRange 方法实现多列数据的排序,示例代码如下:
  1. sheet.sortRange(0, 0, 3, 2, true, [
  2.                     { index: 0, ascending: false},  //降序
  3.                     { index: 0, ascending: true}, //升序
  4.                 ]);
复制代码
您可以参考附件的demo。
除了sortRange 方法外,排序还有很多知识点,您可以参考: https://demo.grapecity.com.cn/sp ... rksheet/sort/purejs
sortRange 方法API:  https://demo.grapecity.com.cn/sp ... heet.html#sortRange

demo.zip

9.45 MB, 下载次数: 20

回复 使用道具 举报
jscqkj
中级会员   /  发表于:2020-10-14 14:42:43
3#
本帖最后由 jscqkj 于 2020-10-14 14:51 编辑
lynn512 发表于 2020-10-13 18:22
您好,SJS可使用 sortRange 方法实现多列数据的排序,示例代码如下:
您可以参考附件的demo。
除了sortRa ...

表格区域使用sortRange 没反应,是为什么?
1.png
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-10-14 15:14:57
4#
你指的表格区域是sheet表格还是table呢?
建议您抽离关键代码,提供一个简单可运行的html文件,来帮助我们更快的复现此问题。
回复 使用道具 举报
jscqkj
中级会员   /  发表于:2020-10-14 15:19:04
5#
lynn512 发表于 2020-10-14 15:14
你指的表格区域是sheet表格还是table呢?
建议您抽离关键代码,提供一个简单可运行的html文件,来帮助我们 ...

是table
回复 使用道具 举报
jscqkj
中级会员   /  发表于:2020-10-14 16:06:13
6#
例子里有自定义排序按钮 不起作用

yanshi - 副本.rar

907.34 KB, 下载次数: 21

回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-10-14 18:21:23
7#
本帖最后由 lynn512 于 2020-10-15 16:40 编辑

您好,您上传的demo我这边操作很卡顿,无法正常运行。这边写了一个表格绑定数据源排序的demo,您先参考着。或者您将您的代码在这个demo的基础上添加,我这边先复现您的问题。

  1. var table = sheet.tables.all()[0];
  2.             var colCount = table.dataRange().colCount;
  3.             sheet.sortRange(1, 0, 3, colCount, true, [
  4.                 { index: 0, ascending: false}  //降序
  5.             ]);
复制代码



表格绑定数据源排序.zip

2.05 MB, 下载次数: 26

回复 使用道具 举报
jscqkj
中级会员   /  发表于:2020-10-19 09:24:27
8#
lynn512 发表于 2020-10-14 18:21
您好,您上传的demo我这边操作很卡顿,无法正常运行。这边写了一个表格绑定数据源排序的demo,您先参考着。 ...

是了你发的这种写法,还是不行

yanshi - 副本.rar

907.62 KB, 下载次数: 23

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