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

    效果如下:

  • 相关阅读:
    2016级算法第四次上机-B ModricWang的序列问题
    2016级算法第四次上机-A.Bamboo 和人工zz
    2016级算法第三次上机-G.Winter is coming
    2016级算法第三次上机-F.ModricWang的导弹防御系统
    2016级算法第三次上机-E.ModricWang's Polygons
    2016级算法第三次上机-D.双十一的抉择
    2016级算法第三次上机-C.AlvinZH的奇幻猜想——三次方
    2016级算法第三次上机-B.Bamboo和巧克力工厂
    2016级算法第三次上机-A.Bamboo的小吃街
    Self-introduction 自我介绍
  • 原文地址:https://www.cnblogs.com/719468186-QAQ/p/6340607.html
Copyright © 2011-2022 走看看