GridControl单元格验证

单元格验证

//控制单元格只能输入三个字符(单元格无控件)

//调用gridView_ValidatingEditor 事件
//设置校验列
if (gridView.FocusedColumn.FieldName == "Name") 
        {
            if (e.Value.ToString().Length > 3)
            {
                //设置提示信息
                e.ErrorText = "该单元格只能输入三位!";
                e.Valid = false;
                return;
            }
        }

//控制单元格只能输入三个字符(单元格有控件)

//调用验证列控件的 Validating 事件
//sender就是控件 转化为你TextEdit控件 
DevExpress.XtraEditors.TextEdit control = (DevExpress.XtraEditors.TextEdit)sender;
//获取控件的输入值 并验证
        if (control.Text.ToString().Length > 3)
        {
            //校验不通过
            e.Cancel = true;
            return;
        }
//调用 gridView_InvalidValueException事件
e.ExceptionMode = ExceptionMode.DisplayError;
        e.WindowCaption = "输入错误";
        e.ErrorText = "该单元格只能输入三位!";
        gridView1.HideEditor();

// 弊端:1、只要未通过单元格验证 当前窗体除了最大化最小化按钮其他都不能点击!
2、焦点离开单元格时才会触发该事件

//控制单元格只能输入指定字符

调用验证列控件KeyPress事件
 if (e.KeyChar != '#')
        {
            e.Handled = true;
        }

PS://单元格只输入正整数方法

bool result = false;
Regex regex = new Regex(@"^\+?\d+$");
result = regex.IsMatch(textEdit.EditValue.ToString());
 if (!result)
  {
      e.Cancel = true; //校验不通过
      return;
 }

猜你喜欢

转载自blog.csdn.net/weixin_42609389/article/details/84024217