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

QQ登录

只需一步,快速开始

白鱼

中级会员

62

主题

230

帖子

594

积分

中级会员

积分
594
白鱼
中级会员   /  发表于:2022-10-26 15:42  /   查看:2539  /  回复:3
1金币
排序功能,鼠标右键点击出来的排序按钮,可以进入排序事件,但是工具栏数据-排序中进行排序,无法进入排序事件,可能是我们在哪些点的设置有问题?工具栏可以按照一整列进行排序,选中一列右键没有排序按钮。

最佳答案

查看完整内容

您好,在designer中在工具栏中点击排序,获取事件处理结果,需要重写命令,如下代码所示: 最后,在designer中右键菜单可以触发RangeSorting事件, 具体代码见附件 ps:如何获取命令?可以通过GC.Spread.Sheets.Designer.DefaultConfig 获取菜单栏默认设置,如下图所示,按需找command[/backcolor]

3 个回复

最佳答案
最佳答案
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2022-10-26 15:42:09
来自 4#
本帖最后由 Ellia.Duan 于 2022-10-27 11:31 编辑

您好,在designer中在工具栏中点击排序,获取事件处理结果,需要重写命令,如下代码所示:
  1. var designer = new GC.Spread.Sheets.Designer.Designer(document.getElementById("designerHost"));
  2.             var spread = designer.getWorkbook();
  3.             var sheet = spread.getActiveSheet();

  4.             let designerConfig = JSON.parse(JSON.stringify(GC.Spread.Sheets.Designer.DefaultConfig));
  5.             var command = GC.Spread.Sheets.Designer.getCommand('sortAZ');
  6.             var oldExecute = command.execute;
  7.             command.execute = function (context, propertyName){
  8.                 console.log('Designer排序事件' ,context, propertyName)
  9.                 oldExecute.call(this,context, propertyName)
  10.             }

  11.             designerConfig.commandMap = {
  12.                 "sortAZ":command
  13.             }
  14.             designer.setConfig(designerConfig)
  15.             designer.refresh();
复制代码
最后,在designer中右键菜单可以触发RangeSorting事件,
  1. sheet.bind(GC.Spread.Sheets.Events.RangeSorting, function (e, info) {
  2.                 console.log('Spread排序事件')
  3.             });
复制代码

具体代码见附件



ps:如何获取命令?可以通过GC.Spread.Sheets.Designer.DefaultConfig 获取菜单栏默认设置,如下图所示,按需找command


本帖子中包含更多资源

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

x
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2022-10-26 18:39:04
2#
本帖最后由 Ellia.Duan 于 2022-10-26 18:42 编辑

您好,您的问题是否已解决了呢?这边注意到您的帖子已经标注为“已处理”。如果没有解决,您这边可以将测试的示例发上来,根据您的示例具体测试一下。

本帖子中包含更多资源

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

x
回复 使用道具 举报
白鱼
中级会员   /  发表于:2022-10-27 09:32:16
3#
Ellia.Duan 发表于 2022-10-26 18:39
您好,您的问题是否已解决了呢?这边注意到您的帖子已经标注为“已处理”。如果没有解决,您这边可以将测试 ...

不是没有处理结果,是没有进入监听的事件RangeSorting和RangeSorted,结果有进行排序,但是我们需要从监听的事件中对排序事件进行处理
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部