找回密码
 立即注册

QQ登录

只需一步,快速开始

mohai
注册会员   /  发表于:2017-7-18 15:44  /   查看:8715  /  回复:22
有一段 V9.4版本的调用控件代码,要翻译到V10版本,能帮我翻译一下吗?
之前的SpreadJS版本号是:9.40.20161.0
想要升级为版本号:10.1.0
调用js的代码为:
               //自定义变动公式    V9
                var $ = $wnd.$;
                var funcSUMBDL = this.@com.efounder.gwt.cubereport.comp.CubeReportView::sumBDL(Lcom/efounder/gwt/cubereport/comp/CubeReportView;II);
                $.wijmo.wijspread.Calc.Functions.defineGlobalCustomFunction("SUMBDL",  function(args, context){
                                return funcSUMBDL(view, context.row, context.column);
                        },{
                                override:true,
                                isContextSensitive: function(){return true;},
                                isVolatile: function(){return true;}       
                        }
                );

请大神帮忙翻译一下.

22 个回复

倒序浏览
mohai
注册会员   /  发表于:2017-7-18 16:51:12
沙发
var funcSUMBDL = this.@com.efounder.gwt.cubereport.comp.CubeReportView::sumBDL(Lcom/efounder/gwt/cubereport/comp/CubeReportView;II);这个句代码可以忽略
回复 使用道具 举报
mohai
注册会员   /  发表于:2017-7-18 16:51:17
板凳
var funcSUMBDL = this.@com.efounder.gwt.cubereport.comp.CubeReportView::sumBDL(Lcom/efounder/gwt/cubereport/comp/CubeReportView;II);
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-7-18 17:25:18
地板
mohai 发表于 2017-7-18 16:51
var funcSUMBDL = ::sumBDL(Lcom/efounder/gwt/cubereport/comp/CubeReportView;II);

您好,您可以参考http://demo.gcpowertools.com.cn/ ... les/customFunctions
来实现您的自定义函数。
回复 使用道具 举报
CCKan
银牌会员   /  发表于:2017-7-18 18:07:04
5#
var fn = new GC.Spread.CalcEngine.Functions.Function("SUMBDL", 0, 0, "This function...")
fn.isContextSensitive = function () {
    return true;
}
fn.isVolatile = function () {
    return true;
}
fn.evaluate = function (context) {
    return funcSUMBDL(view, context.row, context.column);
}
GC.Spread.CalcEngine.Functions.defineGlobalCustomFunction("SUMBDL", fn);

评分

参与人数 1满意度 +5 收起 理由
mohai + 5 很给力!

查看全部评分

回复 使用道具 举报
mohai
注册会员   /  发表于:2017-7-18 20:10:13
6#
本帖最后由 mohai 于 2017-7-18 20:13 编辑
CCKan 发表于 2017-7-18 18:07
var fn = new GC.Spread.CalcEngine.Functions.Function("SUMBDL", 0, 0, "This function...")
fn.isConte ...

您好,我发现在论坛上有过我们公司一个前辈提出的问题是您解决,帖子在这里:的,http://gcdn.gcpowertools.com.cn/showtopic-20865-1-1.html现在我要升级这部分内容,不太理解这段代码是什么作用,您能给我讲一下吗?,我把你翻译的代码跑了一下,没有解析 sumBD变动的公式,如 C3单元格是sumBD公式,没有翻译成公式,,,, blob46164244.png
回复 使用道具 举报
mohai
注册会员   /  发表于:2017-7-19 12:57:09
7#
spreadJS能否在公式计算出来的值为零时不显示.
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-7-19 13:44:53
8#
mohai 发表于 2017-7-19 12:57
spreadJS能否在公式计算出来的值为零时不显示.

您好,可以在公式中加入IF嵌套进行判断,例如=IF(SUM(A1,A2)=0,"",SUM(A1,A2))

评分

参与人数 1满意度 +5 收起 理由
mohai + 5 很给力!

查看全部评分

回复 使用道具 举报
mohai
注册会员   /  发表于:2017-7-19 14:21:21
9#
var oldFormat = $.wijmo.wijspread.TextCellType.prototype.format;
                $.wijmo.wijspread.TextCellType.prototype.format = function (value, format, conditionalForeColor, context) {
           if (value === 0) {
                return "";
            }

            return oldFormat.call(spread, value, format, conditionalForeColor, context);
        }
这一段代码在上一个版本中是控制0值不显示的,这个在V10版本中还可以用吗?
回复 使用道具 举报
mohai
注册会员   /  发表于:2017-7-19 14:22:33
10#
ClarkPan 发表于 2017-7-19 13:44
您好,可以在公式中加入IF嵌套进行判断,例如=IF(SUM(A1,A2)=0,"",SUM(A1,A2))


var oldFormat = $.wijmo.wijspread.TextCellType.prototype.format;
                $.wijmo.wijspread.TextCellType.prototype.format = function (value, format, conditionalForeColor, context) {
           if (value === 0) {
                return "";
            }

            return oldFormat.call(spread, value, format, conditionalForeColor, context);
        }
这一段代码在上一个版本中是控制0值不显示的,这个在V10版本中还可以用吗?
回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部