zheng_bei 发表于 2016-8-12 13:47:19

单元格无效怎么处理?ValidationError

GcSpreadSheet监听了ValidationError事件以后,发现有一些数据一直错误,这个要怎么处理啊?比如112.11和123.11等很多数据会过不去校验,然后当成无效数据给清掉了。

dexteryao 发表于 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 发表于 2016-8-12 15:20:40

这个具体要看你设置的DataValidator 到底是什么了。您最好发个demo吧。

zheng_bei 发表于 2016-8-12 16:37:16

dexteryao 发表于 2016-8-12 15:20
这个具体要看你设置的DataValidator 到底是什么了。您最好发个demo吧。

DataValidator.CreateNumberValidator(ComparisonOperator.GreaterThanOrEqualTo, 0.0, double.MaxValue, false);
这个写法有问题?

dexteryao 发表于 2016-8-12 18:13:46

明白,我这里测试后尽快给你答复

dexteryao 发表于 2016-8-15 16:28:45

您好确认是产品一个bug,会在下个版本修复。
您可以在EditEnd事件中通过IsValid方法验证

      private void GcSpreadSheet1_EditEnd(object sender, GrapeCity.Windows.SpreadSheet.UI.EditCellEventArgs e)
      {
            if (gcSpreadSheet1.ActiveSheet.Cells.DataValidator != null)
            {
                var value = gcSpreadSheet1.ActiveSheet.GetValue(e.Row, e.Column);
                MessageBox.Show(gcSpreadSheet1.ActiveSheet.IsValid(e.Row, e.Column, value).ToString());
            }
      }
页: [1]
查看完整版本: 单元格无效怎么处理?ValidationError