找回密码
 立即注册

QQ登录

只需一步,快速开始

[已处理] 公式计算问题

CCKan
银牌会员   /  发表于:2016-3-4 15:21:00
11#
你为什么需要清除全局方法呢? 在页面加载以后定义一次,然后就不用管它不就好了吗?
如果你就是需要加多次的话,试试加个option:
GcSpread.Sheets.Calc.Functions.defineGlobalCustomFunction( "myFunction", function (args){
return args[0] + args[1];
},
{override:true});
回复 使用道具 举报
Alvin
初级会员   /  发表于:2016-3-7 16:41:36
12#
CCKan 发表于 2016-3-4 15:21
你为什么需要清除全局方法呢? 在页面加载以后定义一次,然后就不用管它不就好了吗?
如果你就是需要加多次 ...

自定义的公式能不能取到这个公式再哪个单元格? 取到行列??
回复 使用道具 举报
gw0506
超级版主   /  发表于:2016-3-7 16:46:14
13#
公式就是公式,拿不到行列。行列应该是你设置给他的,你应该知道的。
回复 使用道具 举报
Alvin
初级会员   /  发表于:2016-3-7 16:58:41
14#
gw0506 发表于 2016-3-7 16:46
公式就是公式,拿不到行列。行列应该是你设置给他的,你应该知道的。

现在我的公式不是在前台设置的,是从后台加上上来的,所以我不知道当前计算的公式是哪个单元格的!
回复 使用道具 举报
CCKan
银牌会员   /  发表于:2016-3-7 17:17:07
15#
有办法:
GcSpread.Sheets.Calc.Functions.defineGlobalCustomFunction( "myFunction", function (args, context){
var row = context.row; // 获取正在计算的行
var col = context.column; // 获取正在计算的列
},{
override:true,
isContextSensitive: function(){return true;}
});
回复 使用道具 举报
Alvin
初级会员   /  发表于:2016-3-8 15:00:50
16#
CCKan 发表于 2016-3-7 17:17
有办法:
GcSpread.Sheets.Calc.Functions.defineGlobalCustomFunction( "myFunction", function (args, c ...

自定义的公式,单元格的值改变了,公式没能自动计算呢,还需要有其他的设置吗?
回复 使用道具 举报
CCKan
银牌会员   /  发表于:2016-3-8 15:03:53
17#
照理说应该能自动计算的。你给我个能重现问题的 Sample 吧,不然我也不知道什么情况
回复 使用道具 举报
Alvin
初级会员   /  发表于:2016-3-8 15:18:46
18#
CCKan 发表于 2016-3-8 15:03
照理说应该能自动计算的。你给我个能重现问题的 Sample 吧,不然我也不知道什么情况

例子不好弄,因为都嵌到程序里了,涉及的比较多,不好分离
回复 使用道具 举报
Alvin
初级会员   /  发表于:2016-3-8 15:22:31
19#
本帖最后由 Alvin 于 2016-3-8 15:23 编辑
CCKan 发表于 2016-3-8 15:03
照理说应该能自动计算的。你给我个能重现问题的 Sample 吧,不然我也不知道什么情况


代码是这么写的               
//自定义公式
$.wijmo.wijspread.Calc.Functions.defineGlobalCustomFunction("SUMBD",  function(args, context){
                        return sumBD( context.row, context.column);
        },{
                override:true,
                isContextSensitive: function(){return true;}
        }
);

public int sumBD(int row, int col) {
    //这里进行的相关业务处理
}

打开的时候可以正常计算,但是修改值不行呢?

回复 使用道具 举报
CCKan
银牌会员   /  发表于:2016-3-8 15:45:21
20#
对于公式来说,只有依赖的单元格值变化才会更新。
举个例子:
你在 A1 上设了一个公式: =SUM(B1)
那么,A1就会依赖 B1, B1的值变化之后,A1 的公式就会重算,值就会更新。
而如果你在 A1 上设的公式是 = SUMBD()
由于这个公式没有依赖任何人,所以任何单元格的值发生变化后它都不会重算。

一般来说,通用的做法是公式中的引用关系都是通过公司参数指定的,而不是通过 context 找的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部