找回密码
 立即注册

QQ登录

只需一步,快速开始

爱迪生

超级版主

55

主题

65

帖子

1394

积分

超级版主

Rank: 8Rank: 8

积分
1394
爱迪生
超级版主   /  发表于:2023-3-2 14:03  /   查看:1669  /  回复:0
本帖最后由 爱迪生 于 2023-3-2 14:06 编辑

我们知道在线表格编辑器可以进行单元格的合并,但是有些场景,客户想在合并单元格前进行一些业务逻辑的处理,
比如满足一定条件才能进行合并
面对这样的需求,我们如何实现呢?我们知道合并单元格调用的时MergeCenter的命令,那我们就可以对MergeCenter命令进行重写,加入自己的业务逻辑
参考下面的示例代码:
  1. let mergeCenterCommand = GC.Spread.Sheets.Designer.getCommand(GC.Spread.Sheets.Designer.CommandNames.MergeCenter);
  2. if (mergeCenterCommand) {
  3.   let oldExecute = mergeCenterCommand.execute;
  4.   mergeCenterCommand.execute = function (context, propertyName, args) {
  5.     alert("开始合并单元格")
  6.     //添加confirm逻辑

  7.     oldExecute.call(this, context, propertyName, args);
  8.   }
  9. }
  10. var config = GC.Spread.Sheets.Designer.DefaultConfig
  11. config.commandMap[GC.Spread.Sheets.Designer.CommandNames.MergeCenter] = mergeCenterCommand;
  12. var designer = GC.Spread.Sheets.Designer.findControl('gc-designer-container')
  13. designer.setConfig(config)
复制代码

我们看一下重写命令后合并单元格的效果:

image.png42901305.png



0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部