找回密码
 立即注册

QQ登录

只需一步,快速开始

yeseruanchong

注册会员

6

主题

15

帖子

51

积分

注册会员

积分
51
yeseruanchong
注册会员   /  发表于:2018-7-27 16:26  /   查看:3472  /  回复:3
如自定义函数:
=FACTORIAL(5)   返回 120;

现在我修改了 自定义函数  FACTORIAL 的逻辑, 使它返回 130;
通过
GC.Spread.CalcEngine.Functions.removeGlobalFunction("FACTORIAL ");

GC.Spread.CalcEngine.Functions.defineGlobalCustomFunction("FACTORIAL ", FACTORIAL);
删除之前的旧版,  并注册新版的函数

之前的值 120 不会变,   需要通过修改 才会变 130.

有没有一种快捷的方式 触发它 重新计算 ?  


3 个回复

倒序浏览
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-7-27 17:37:51
沙发
用recalcAll方法来进行重新计算
http://help.grapecity.com/spread ... heet~recalcAll.html
回复 使用道具 举报
yeseruanchong
注册会员   /  发表于:2018-7-30 14:59:08
板凳
试了一下是可以的,
var factorial1 = new FactorialFunction1();
GC.Spread.CalcEngine.Functions.defineGlobalCustomFunction("FACTORIAL", factorial1);
sheet.recalcAll(true);

但是像全局的 要加一个参数 为 : true

非常感谢 已解答
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-7-30 17:25:53
地板
对,没错,如果全局重新计算,需要传入参数true
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部