找回密码
 立即注册

QQ登录

只需一步,快速开始

zheng_bei

注册会员

8

主题

31

帖子

83

积分

注册会员

积分
83
zheng_bei
注册会员   /  发表于:2016-8-12 13:47  /   查看:5008  /  回复:6
GcSpreadSheet监听了ValidationError事件以后,发现有一些数据一直错误,这个要怎么处理啊?比如112.11和123.11等很多数据会过不去校验,然后当成无效数据给清掉了。

6 个回复

倒序浏览
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-8-12 14:13:47
沙发
可以详细描述下您的问题吗,你加了什么验证(通过代码或者设计器?),然后做了什么操作。
我们需要详细步骤重现问题才能解决。
回复 使用道具 举报
zheng_bei
注册会员   /  发表于:2016-8-12 14:43:28
板凳
dexteryao 发表于 2016-8-12 14:13
可以详细描述下您的问题吗,你加了什么验证(通过代码或者设计器?),然后做了什么操作。
我们需要详细步 ...

加了一个这个,this.ValidationError += JTableBase_ValidationError;,然后输入111.11,123.12等的时候就激活JTableBase_ValidationError了,然后说数据有错,但是111.5又不会报错,这个错误校验数据是在代码里添加的嘛
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-8-12 15:20:40
地板
这个具体要看你设置的DataValidator 到底是什么了。您最好发个demo吧。
回复 使用道具 举报
zheng_bei
注册会员   /  发表于:2016-8-12 16:37:16
5#
dexteryao 发表于 2016-8-12 15:20
这个具体要看你设置的DataValidator 到底是什么了。您最好发个demo吧。

DataValidator.CreateNumberValidator(ComparisonOperator.GreaterThanOrEqualTo, 0.0, double.MaxValue, false);
这个写法有问题?
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-8-12 18:13:46
6#
明白,我这里测试后尽快给你答复

评分

参与人数 1满意度 +5 收起 理由
zheng_bei + 5 赞一个!

查看全部评分

回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-8-15 16:28:45
7#
您好确认是产品一个bug,会在下个版本修复。
您可以在EditEnd事件中通过IsValid方法验证

  1.         private void GcSpreadSheet1_EditEnd(object sender, GrapeCity.Windows.SpreadSheet.UI.EditCellEventArgs e)
  2.         {
  3.             if (gcSpreadSheet1.ActiveSheet.Cells[e.Row, e.Column].DataValidator != null)
  4.             {
  5.                 var value = gcSpreadSheet1.ActiveSheet.GetValue(e.Row, e.Column);
  6.                 MessageBox.Show(gcSpreadSheet1.ActiveSheet.IsValid(e.Row, e.Column, value).ToString());
  7.             }
  8.         }
复制代码

评分

参与人数 1满意度 +5 收起 理由
zheng_bei + 5

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部