找回密码
 立即注册

QQ登录

只需一步,快速开始

IvanBy
金牌服务用户   /  发表于:2017-5-26 11:23  /   查看:9251  /  回复:19


在这个帖子里,我使用了自定义数据验证器。http://gcdn.gcpowertools.com.cn/ ... id=37496&extra=

现在发现一个问题,如果我在表格中添加了一个自定义数据验证器,判断是生效正常的。
但是,如果我把当前表格导出为Json,然后再导入,原来的自定义数据验证就会失效了。

19 个回复

倒序浏览
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-5-26 12:05:37
沙发
如果是自定义的类型,那么导入导出的时候都需要声明。例如
function CustomerCondition(compareType, expected, formula){
        var self = this;
        self.ignoreBlank = false;
        self.conditionType = "CustomerCondition";
        self.compareType = compareType;
        self.expected = expected;
        self.formula = formula;
    };
    CustomerCondition.prototype = new GcSpread.Sheets.CellValueCondition();
    CustomerCondition.prototype.evaluate = function(evaluator, baseRow, baseColumn, actualValue){
        if(actualValue === this.expected){
            return true;
        }
        else{
            return false;
        }
    }
这段代码,您导入的时候也需要将这段代码进行声明,放置在全局中
回复 使用道具 举报
IvanBy
金牌服务用户   /  发表于:2017-5-26 14:20:11
板凳
ClarkPan 发表于 2017-5-26 12:05
如果是自定义的类型,那么导入导出的时候都需要声明。例如
function CustomerCondition(compareType, expe ...

还是有问题的,而且结果完全相反……
我把这个Demo上传了。 demo.html (3.01 KB, 下载次数: 488)
回复 使用道具 举报
IvanBy
金牌服务用户   /  发表于:2017-5-26 14:21:50
地板
IvanBy 发表于 2017-5-26 14:20
还是有问题的,而且结果完全相反……
我把这个Demo上传了。

image.png107344359.png
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-5-26 18:05:59
5#

您好,您的问题我们正在调查中,需要时间进行调查。
另外,您的需求如果不用自定义的校验方式,用普通的校验方式能够满足吗?如果可以,请您使用普通的校验方式进行校验。
回复 使用道具 举报
IvanBy
金牌服务用户   /  发表于:2017-5-26 18:40:06
6#
ClarkPan 发表于 2017-5-26 18:05
您好,您的问题我们正在调查中,需要时间进行调查。
另外,您的需求如果不用自定义的校验方式,用普通的 ...

不行呢,其实我是做成自定义正则表达式来验证的,现在只是用这个做Demo。
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-5-27 16:35:52
7#
IvanBy 发表于 2017-5-26 18:40
不行呢,其实我是做成自定义正则表达式来验证的,现在只是用这个做Demo。

您好,您的问题目前还在调查中,下个工作日我们会继续跟进。
回复 使用道具 举报
IvanBy
金牌服务用户   /  发表于:2017-5-27 17:25:42
8#
ClarkPan 发表于 2017-5-27 16:35
您好,您的问题目前还在调查中,下个工作日我们会继续跟进。

辛苦了。
不过千万不要没办法解决,最后又一定要升级或者等传说中的修复版
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-5-31 17:19:55
9#
IvanBy 发表于 2017-5-27 17:25
辛苦了。
不过千万不要没办法解决,最后又一定要升级或者等传说中的修复版

您好,今天得到了研发同事的反馈,使用自定义数据验证器是不支持fromjson tojson的,普通的校验方式支持,如果普通的方式满足不了您的需求,可以同过自定义公式来完成此类需求,自定义公式是支持fromjson tojson的(可以在spreadjs之间导入导出,但无法导出成Excel)。
关于自定义公式可以参考:
http://demo.gcpowertools.com.cn/ ... les/customFunctions
回复 使用道具 举报
IvanBy
金牌服务用户   /  发表于:2017-5-31 17:29:51
10#
ClarkPan 发表于 2017-5-31 17:19
您好,今天得到了研发同事的反馈,使用自定义数据验证器是不支持fromjson tojson的,普通的校验方式支持 ...


这应该算Bug了吧。。。
自定义函数是没有验证提醒的
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部