找回密码
 立即注册

QQ登录

只需一步,快速开始

杭州衡泰

金牌服务用户

2

主题

4

帖子

12

积分

金牌服务用户

积分
12
  • 52

    金币

  • 2

    主题

  • 4

    帖子

最新发帖
杭州衡泰
金牌服务用户   /  发表于:2025-1-9 09:19  /   查看:48  /  回复:5
1金币
当前 Designer.setFormatDialog 这个命令只在第一次使用“其他数字格式”功能并点击弹窗确定后动态注册


这个 command 对应的功能很强大,代码也很多,但是仅注册来说并没有多少性能消耗(也不存在对它的资源懒加载),不确定为什么一定要使用动态注册。

当我想通过 API 方式利用该 command 的能力时,由于其可能未注册,而没法儿使用。

希望能告知是否存在某种方式可以达成这个目的,或者暴露出相关 API 进行使用。

最佳答案

查看完整内容

这个可以做到的,您可以尝试一下这段代码: 效果是这样: 您目前是在做协同相关的功能吗?我们V18版本会出一个协同的服务,就是专门做这个的,该版本大概3月正式发布,如果您感兴趣,可以先看一下我们发布的预览版:https://gcdn.grapecity.com.cn/showtopic-231497-1-1.html

5 个回复

倒序浏览
最佳答案
最佳答案
Matthew.Xue
超级版主   /  发表于:昨天 09:19
来自 6#
本帖最后由 Matthew.Xue 于 2025-1-9 11:35 编辑
杭州衡泰 发表于 2025-1-9 10:55
好的,那退而求其次,是否可以把除了格式化以外的功能通过什么配置方式去除?

这个可以做到的,您可以尝试一下这段代码:

  1. let formatDialogTemplateName = GC.Spread.Sheets.Designer.TemplateNames.FormatDialogTemplate
  2. let formatDialogTemplate = GC.Spread.Sheets.Designer.getTemplate(formatDialogTemplateName)
  3. formatDialogTemplate.content[0].children = formatDialogTemplate.content[0].children.filter((v, index) => {
  4.     return index == 0
  5. })
  6. GC.Spread.Sheets.Designer.registerTemplate(formatDialogTemplateName, formatDialogTemplate)
复制代码


效果是这样:
image.png696697692.png

您目前是在做协同相关的功能吗?我们V18版本会出一个协同的服务,就是专门做这个的,该版本大概3月正式发布,如果您感兴趣,可以先看一下我们发布的预览版:https://gcdn.grapecity.com.cn/showtopic-231497-1-1.html
回复 使用道具 举报
Matthew.Xue
超级版主   /  发表于:昨天 09:39
2#
本帖最后由 Matthew.Xue 于 2025-1-9 09:40 编辑

您好,我想确认一下您是否想要通过代码打开“设置单元格格式”的弹窗?

我们和研发已经确认过,目前确实不支持动态注册,但是有其他的方式可以打开弹框,代码如下:
  1. GC.Spread.Sheets.Designer.getCommand("formatMore").execute(designer)
复制代码
其中,“formatMore”是通过读取设计器的配置项拿到的,它对应的就是设计器中“开始-数字-下拉框-其他数字格式”的选项
  1. GC.Spread.Sheets.Designer.DefaultConfig
复制代码

image.png556058959.png

不知道这样是否能满足您的需求呢?
image.png201093444.png
回复 使用道具 举报
杭州衡泰
金牌服务用户   /  发表于:昨天 09:48
3#
感谢你的回复。

我不是想要打开弹窗,而是想利用这个 command 强大的能力。否则我需要分散调用很多设置 格式/边框/背景 的 API 进行组合。
回复 使用道具 举报
Matthew.Xue
超级版主   /  发表于:昨天 10:22
4#
杭州衡泰 发表于 2025-1-9 09:48
感谢你的回复。

我不是想要打开弹窗,而是想利用这个 command 强大的能力。否则我需要分散调用很多设置  ...

不建议您这样做,这样会很大程度上降低后期开发的灵活性,因为您的代码都依赖于我们的command,如果要修改command内部的逻辑会比较麻烦,还是直接用api开发会友好一些,代码量方面其实差别不会很大,弹框中的配置基本也是对应某一个的api,多api组合的非常少。设计器只提供了一个ui界面,帮您省去了获取当前被选中区域的步骤,这一点也可以通过封装一个通用方法来实现。
回复 使用道具 举报
杭州衡泰
金牌服务用户   /  发表于:昨天 10:55
5#
好的,那退而求其次,是否可以把除了格式化以外的功能通过什么配置方式去除?
image.png431553649.png

为了达成协同的目的,我不希望这个操作过于复杂,同时格式化的设置又很多,我不想自己从头实现一遍 UI
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部