找回密码
 立即注册

QQ登录

只需一步,快速开始

冯·翊

注册会员

2

主题

10

帖子

130

积分

注册会员

积分
130
最新发帖
冯·翊
注册会员   /  发表于:2019-12-3 10:41  /   查看:4789  /  回复:12
本帖最后由 冯·翊 于 2019-12-3 10:44 编辑

使用SpreadJS的数字验证,只有输入信息提示,没有错误提示。请教怎么写才能有错误信息提示。我的创建代码

输入信息提示

没有错误信息提示

创建代码
  1. var dv = new spreadNS.DataValidation.createNumberValidator(
  2.                   spreadNS.ConditionalFormatting.ComparisonOperators.between,"5","20",true);
  3.                 dv.showInputMessage(true);
  4.                 dv.inputMessage("值必须在5到20之间!!");
  5.                 dv.inputTitle("提示");
  6.                 dv.errorMessage("值必须在5到20之间!!");
  7.                 dv.errorStyle(0);
  8.                 dv.errorTitle("错误");
  9.                 dv.showErrorMessage(true);
  10.                 dv.ignoreBlank(true);
  11.                 dv.highlightStyle({
  12.                   type: 1,
  13.                   color: "red",
  14.                   position: 0
  15.                 });
复制代码

效果2.PNG
效果1.PNG
创建.PNG

12 个回复

倒序浏览
Fiooona
论坛元老   /  发表于:2019-12-3 11:15:28
沙发
错误提示不会在 InputMaeeage的地方进行提示,
他的使用方法参考:
ss.bind(spreadNS.Events.ValidationError, function (event, data) {
                var dv = data.validator;
                if (dv) {
                    alert(dv.errorMessage());
                }
            }
https://demo.grapecity.com.cn/sp ... ta-validator/purejs
image.png122359923.png
组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!
回复 使用道具 举报
冯·翊
注册会员   /  发表于:2019-12-3 11:21:30
板凳
Fiooona 发表于 2019-12-3 11:15
错误提示不会在 InputMaeeage的地方进行提示,
他的使用方法参考:
ss.bind(spreadNS.Events.Validation ...

您好,其实我只是想要一个单元格提示颜色,而不是弹窗。
就像这种
捕获.PNG
回复 使用道具 举报
冯·翊
注册会员   /  发表于:2019-12-3 11:30:35
地板
Fiooona 发表于 2019-12-3 11:15
错误提示不会在 InputMaeeage的地方进行提示,
他的使用方法参考:
ss.bind(spreadNS.Events.Validation ...

请问我想要实现的这种错误提示样式该怎么写呢?
回复 使用道具 举报
Fiooona
论坛元老   /  发表于:2019-12-3 11:41:35
5#
参考下列代码:
  var dv1 = new spreadNS.DataValidation.createListValidator("Fruit,Vegetable,Food");
            dv1.inputTitle("Please choose a category:");
            dv1.inputMessage("Fruit, Vegetable, Food");
            dv1.highlightStyle({
                type: GC.Spread.Sheets.DataValidation.HighlightType.icon,
                color: "gold",
                position: GC.Spread.Sheets.DataValidation.HighlightPosition.outsideRight,
            });

更多设置可以看学习指南:
image.png754916991.png

https://demo.grapecity.com.cn/sp ... ta-validator/purejs
组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!
回复 使用道具 举报
冯·翊
注册会员   /  发表于:2019-12-3 14:13:06
6#
Fiooona 发表于 2019-12-3 11:41
参考下列代码:
  var dv1 = new spreadNS.DataValidation.createListValidator("Fruit,Vegetable,Food"); ...

您好,我就是根据这个代码写的,就是没有显示我想要的样式
回复 使用道具 举报
Fiooona
论坛元老   /  发表于:2019-12-3 14:29:05
7#
具体是这个API来控制:HighlightType

https://www.grapecity.com/spread ... .HighlightType.html

您想要红色的三角标识在左边这个API是 HighlightPosition
https://www.grapecity.com/spread ... hlightPosition.html

组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!
回复 使用道具 举报
冯·翊
注册会员   /  发表于:2019-12-3 14:48:02
8#
Fiooona 发表于 2019-12-3 14:29
具体是这个API来控制:HighlightType

https://www.grapecity.com/spreadjs/docs/v13/online/SpreadJS~GC ...
  1. dv.highlightStyle({
  2.         type: SpreadNS.DataValidation.HighlightType.dogEar,
  3.         color: "red",
  4.         position: SpreadNS.DataValidation.HighlightPosition.topLeft
  5.       });
复制代码

您看,我这个写法完全没问题,甚至我可以直接把常量写入type和position这两个字段中,但是我这样写就是没有我想要的样式.
  1. sheet.setDataValidator(
  2.                   range.row,
  3.                   range.col,
  4.                   range.rowCount,
  5.                   range.colCount,
  6.                   options.dv
  7.                 );
复制代码
我在这里打断点,浏览器看到的是这个,错误提示也是有的。但是在页面上确实没有
捕获.PNG
回复 使用道具 举报
Fiooona
论坛元老   /  发表于:2019-12-3 15:16:04
9#
本帖最后由 Fiooona 于 2019-12-3 15:17 编辑

这是V12.2版本的新特性,应该是您的版本的问题, 升级到V12.2以上版本即可

print.html

23.76 KB, 下载次数: 44

组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!
回复 使用道具 举报
冯·翊
注册会员   /  发表于:2019-12-3 15:20:37
10#
我使用的版本是13.0的
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部