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

QQ登录

只需一步,快速开始

helloworldplus

注册会员

25

主题

57

帖子

192

积分

注册会员

积分
192
helloworldplus
注册会员   /  发表于:2025-1-17 09:51  /   查看:91  /  回复:5
1金币
如下图,对于designer的命令,文档中有相关解释吗,不知道咋个用啊,而且这些命令传值也不太一致,有具体示例文档吗

image.png971811828.png

最佳答案

查看完整内容

您好!我们关于command的文档信息的确不全,这块大致可以给您讲一下如何传值,因为designer的command基本都是用于设计器的操作,所以它的传值其实比较简单,基本上只需要传入designer实例就可以了。 以“合并后居中”为例,可以看到它对应的command name是mergeCenterButton 那么我们通过command name拿到这个command之后,就可以直接执行execute,并传入designer对象: 至于代码内部如何知道该对哪些区域做合并,其实是自 ...

5 个回复

倒序浏览
最佳答案
最佳答案
Matthew.Xue
超级版主   /  发表于:2025-1-17 09:51:03
来自 2#
本帖最后由 Matthew.Xue 于 2025-1-17 14:17 编辑

您好!我们关于command的文档信息的确不全,这块大致可以给您讲一下如何传值,因为designer的command基本都是用于设计器的操作,所以它的传值其实比较简单,基本上只需要传入designer实例就可以了。
以“合并后居中”为例,可以看到它对应的command name是mergeCenterButton
image.png138553771.png
那么我们通过command name拿到这个command之后,就可以直接执行execute,并传入designer对象:
image.png579866332.png
  1. GC.Spread.Sheets.Designer.getCommand(GC.Spread.Sheets.Designer.CommandNames.MergeCenterButton).execute(designer)
复制代码
至于代码内部如何知道该对哪些区域做合并,其实是自动取了当前活动sheet的被选择的单元格。上面这种做法足以应对大部分的command了,您可以尝试一下。
但是我这边更关心的是您为何需要调用command来实现业务需求,因为这些command都可以使用我们暴露的api来实现,这样从业务逻辑上都更加可控,因为我们内置的command一旦和您的需求不匹配,您也较难做出修改的。
回复 使用道具 举报
helloworldplus
注册会员   /  发表于:2025-1-17 14:41:11
3#
Matthew.Xue 发表于 2025-1-17 14:16
您好!我们关于command的文档信息的确不全,这块大致可以给您讲一下如何传值,因为designer的command基本都 ...

是的,当时在接触这一块的时候确实比较迷,有些确实只要传递一个designer就行了,有些需要传值,有些还需要传第三个参数,由于没有文档示例,感觉就像凭着经验在猜一样,太浪费时间了,主要是连一个最基础的命令的解释都没有,有些还可以凭借单词意思猜到,有些是真的不知道;而且感觉文档不是最新的,有些获取到的数据竟然是undefined,比如Active
回复 使用道具 举报
Matthew.Xue
超级版主   /  发表于:2025-1-17 15:05:28
4#
helloworldplus 发表于 2025-1-17 14:41
是的,当时在接触这一块的时候确实比较迷,有些确实只要传递一个designer就行了,有些需要传值,有些还需 ...

还是推荐您使用api,api文档的解释大部分都比较清楚,也更可控。
回复 使用道具 举报
helloworldplus
注册会员   /  发表于:2025-1-17 16:12:40
5#
Matthew.Xue 发表于 2025-1-17 15:05
还是推荐您使用api,api文档的解释大部分都比较清楚,也更可控。

好吧好吧,谢谢啦
回复 使用道具 举报
Matthew.Xue
超级版主   /  发表于:2025-1-17 16:36:14
6#
感谢您的支持~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部