本帖最后由 Richard.Ma 于 2023-9-22 15:27 编辑
参考这个demo 自定义数据校验 - JS CodeMine (grapecity.com)
当设置单元格1.1添加自定义校验的时候,点击 其他的列,比如2,2 3,3这些,自定义的evaluate都会回调
- // 用户自定义数据校验条件
- function CustomerCondition() {
- var self = this;
- // 当前自定义条件名称
- self.conditionType = "CustomerCondition";
- }
- CustomerCondition.prototype = new GC.Spread.Sheets.ConditionalFormatting.Condition();
- CustomerCondition.prototype.evaluate = function (evaluator, baseRow, baseColumn, actualValue) {
- console.log(Math.random())
- // 在此设置判断条件,非数判断
- if (isNaN(parseFloat(actualValue))) {
- return false;
- } else {
- return true;
- }
- }
复制代码- // 以下是添加数据校验的代码部分:
- // 先设置高亮显示
- spread.options.highlightInvalidData = true;
- // 创建校验条件,自定义
- var cCondition = new CustomerCondition();
- var validator1 = new GC.Spread.Sheets.DataValidation.DefaultDataValidator(cCondition);
- validator1.ignoreBlank(false);
- validator1.type(GC.Spread.Sheets.DataValidation.CriteriaType.custom);
- sheet.setDataValidator(1, 1, validator1);
复制代码
|