zoukankan      html  css  js  c++  java
  • GridControl 使用技巧2——验证单元格输入值

    方法①:使用 ValidatingEditor 事件(一般用于对整个GridView内的文本框进行数据验证)

      当单元格输入格式错误时,直接在该行下方提示,代码如下:

        using System.Text.RegularExpressions; //注意添加引用
    
        private void gridView1_ValidatingEditor(object sender, DevExpress.XtraEditors.Controls.BaseContainerValidateEditorEventArgs e)
        {
            if (gridView1.FocusedColumn == colcount) //设置校验列
            {
                bool result = false;
                Regex regex = new Regex(@"^+?d+$");
                result = regex.IsMatch(e.Value.ToString());
                if (!result)
                {
                    e.ErrorText = "请输入一个正整数";
                    e.Valid = false;
                    return;
                }
            }
        }
    View Code

    效果如下:

    方法②:使用 ValidatingEditor 事件进行验证,InvalidValueException 事件进行错误信息提示(一般用于对整个GridView内的文本框进行数据验证)

      当单元格输入格式错误时,弹出消息看提示,代码如下:

        using DevExpress.XtraEditors.Controls; //注意添加引用
    
        private void gridView1_ValidatingEditor(object sender, DevExpress.XtraEditors.Controls.BaseContainerValidateEditorEventArgs e)
        {
            DataRow dr = gridView1.GetFocusedDataRow();
    
            if (gridView1.FocusedColumn == colcount)
            {
                bool result = false;
                Regex regex = new Regex(@"^+?d+$");
                result = regex.IsMatch(e.Value.ToString());
                if (!result)
                {
                    e.Valid = false;
                }
            }
        }
    
        private void gridView1_InvalidValueException(object sender, DevExpress.XtraEditors.Controls.InvalidValueExceptionEventArgs e)
        {
            e.ExceptionMode = ExceptionMode.DisplayError;
            e.WindowCaption = "输入错误";
            e.ErrorText = "请输入一个正整数";
            gridView1.HideEditor();
        }
    View Code

    效果如下:

    方法③:使用 RepositoryItemTextEdit 的 Validating 事件进行验证,InvalidValueException 事件进行错误信息提示(一般用来对内置控件的单元格进行数据验证)

      当单元格输入格式错误时,弹出消息看提示,代码如下:

        private void repositoryItemTextEdit1_Validating(object sender, CancelEventArgs e)
        {
            //将sender转换为BaseEdit类型,使用EditValue来获取当前输入的值并进行校验
            BaseEdit textEdit = sender as BaseEdit;
    
            if (textEdit.EditValue.ToString().Trim().Length > 0)
            {
                bool result = false;
                Regex regex = new Regex(@"^+?d+$");
                result = regex.IsMatch(textEdit.EditValue.ToString());
                if (!result)
                {
                    e.Cancel = true; //校验不通过
                    return;
                }
            }
        }
    
        private void gridView1_InvalidValueException(object sender, DevExpress.XtraEditors.Controls.InvalidValueExceptionEventArgs e)
        {
            e.ExceptionMode = ExceptionMode.DisplayError;
            e.WindowCaption = "输入错误";
            e.ErrorText = "请输入一个正整数";
            gridView1.HideEditor();
        }
    View Code

    效果如下:

  • 相关阅读:
    二分查找:思路很简单,细节是魔鬼
    今天遇到了 X-Y PROBLEM
    《工匠精神》读书笔记
    养成好的职业习惯
    php xdebug 调试
    Dockerfile的常见命令
    docker制作镜像
    脱坑笔记
    Java中代理
    2、遇到多个构造器参数的时候要考虑使用构建器
  • 原文地址:https://www.cnblogs.com/719468186-QAQ/p/6340607.html
Copyright © 2011-2022 走看看