找回密码
 立即注册

QQ登录

只需一步,快速开始

AsIAm

注册会员

14

主题

43

帖子

131

积分

注册会员

积分
131
AsIAm
注册会员   /  发表于:2024-3-12 14:58  /   查看:2046  /  回复:7
8金币
本帖最后由 Richard.Huang 于 2024-3-22 12:20 编辑

产品:SpreadJS
版本:V15

如图所示
下图为Excel文档运用函数时体现的界面 红框中是实时算出的值
image.png526299743.png
下图为spread函数运用时的截图
image.png737424010.png
想要达到的效果是和图一 一样选中计算区域的同时能算出结果,这种效果是可以实现的吗?

最佳答案

查看完整内容

您截图中的fx点击对应的事件,可以通过下面的代码重写逻辑 此外,如果是菜单栏中的插入函数,您可以通过下面的代码重写逻辑

7 个回复

倒序浏览
最佳答案
最佳答案
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2024-3-12 14:58:23
来自 7#
本帖最后由 Ellia.Duan 于 2024-3-13 17:17 编辑

您截图中的fx点击对应的事件,可以通过下面的代码重写逻辑


  1. let designerConfig = JSON.parse(JSON.stringify(GC.Spread.Sheets.Designer.DefaultConfig));
  2. var FormulaBarPanelCommand = GC.Spread.Sheets.Designer.getCommand("formulaBarPanel")
  3.             FormulaBarPanelCommand.execute = function (){
  4.                   console.log(11111111111)
  5.             }
  6. designerConfig.commandMap = {
  7.                 "formulaBarPanel":FormulaBarPanelCommand
  8.             }
  9.       
  10.          
  11.             designer.setConfig(designerConfig)
复制代码

此外,如果是菜单栏中的插入函数,您可以通过下面的代码重写逻辑

image.png889815368.png
  1. let designerConfig = JSON.parse(JSON.stringify(GC.Spread.Sheets.Designer.DefaultConfig));

  2.             var command = GC.Spread.Sheets.Designer.getCommand("insertFunction")
  3.             command.execute = function (context, propertyName){
  4.                 console.log(11111111111)
  5.             }
  6.      
  7.             designerConfig.commandMap = {
  8.                 "insertFunction":command
  9.             }
  10.             designer.setConfig(designerConfig)
复制代码


回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2024-3-12 17:07:28
2#
您好,此问题较复杂,涉及底层逻辑,需要调研下给您回复。
回复 使用道具 举报
AsIAm
注册会员   /  发表于:2024-3-12 17:27:38
3#
那这个窗口是否可以自定义呢
回复 使用道具 举报
summer_
注册会员   /  发表于:2024-3-12 18:27:53
4#
AsIAm 发表于 2024-3-12 17:27
那这个窗口是否可以自定义呢

我感觉自定义有机会实现但估计不好弄,这个预览效果就是把文本框内的formula evaluate一下,这个spreadjs应该有API能做到。
但是自定义窗口有个问题,他们designer的自定义窗口现在好像拿不到对话框元素change的时机,不方便在用户输入文本后及时去执行formula,这个得看版主有没有解决方案了。
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2024-3-13 10:04:56
5#
您好,经过调研,Designer中弹窗封装了这部分的内容,为此有两个问题,
一个是楼上提到的,拿不到对话框元素change的时机,
一个是拿不到弹窗中的公式。
所以您提到的这个功能,暂时无法通过修改对话框来实现。
除此之外,您可以尝试自己封装函数公式的弹窗,完全自定义。
回复 使用道具 举报
AsIAm
注册会员   /  发表于:2024-3-13 10:28:00
6#
image.png790628051.png 自定义的话  如何监听这里的点击事件,取消默认的公式弹窗呢
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2024-3-21 17:00:17
8#
您好,可以参考楼上自定义插入函数后的相关代码。由于您较长时间未回复了,本贴就先结贴啦。如还有问题,可以追帖交流。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部