DevExpress实现GridControl单元格编辑验证的方法

作者:shichen2014 时间:2022-01-13 17:18:45 

本文实例演示了DevExpress实现GridControl单元格编辑验证的方法,比较实用的功能,具体方法如下:

主要功能代码如下:


/// <summary>
/// 自定义单元格验证
/// </summary>
/// <param name="view">GridView</param>
/// <param name="e">BaseContainerValidateEditorEventArgs</param>
/// <param name="fieldNameHandler">委托</param>
/// <param name="errorHanlder">委托</param>
/// <param name="errorText">当验证不通过对时候,错误提示信息文字</param>
public static void CustomValidatingEditor(this GridView view, BaseContainerValidateEditorEventArgs e, Predicate<string> fieldNameHandler, Predicate<object> errorHanlder, string errorText)
{
 /*说明
  *在ValidatingEditor事件使用
  *eg:
  *string[] workType = new string[4] { "-1", "关闭但不删除", "启用", "删除" };
  *void gvLampConfig_ValidatingEditor(object sender, DevExpress.XtraEditors.Controls.BaseContainerValidateEditorEventArgs e)
  *{
  * GridView _view = sender as GridView;
  * _view.CustomValidatingEditor(e, fieldName => fieldName.Equals("TLampWorkStatus"), value => !workType.Contains<string>(value.ToString()), "若想设置为不修改,请输入-1即可");
  * }
  */
 if (fieldNameHandler(view.FocusedColumn.FieldName))
 {
if (errorHanlder(e.Value))
{
  e.Valid = false;
  e.ErrorText = errorText;
}
 }
}

代码使用方法如下:


string[] workType = new string[4] { "-1", "关闭但不删除", "启用", "删除" };
void gvLampConfig_ValidatingEditor(object sender, DevExpress.XtraEditors.Controls.BaseContainerValidateEditorEventArgs e)
{
 GridView _view = sender as GridView;
 _view.CustomValidatingEditor(e, fieldName => fieldName.Equals("TLampWorkStatus"), value => !workType.Contains<string>(value.ToString()), "若想设置为不修改,请输入-1即可");
}
标签:DevExpress,GridControl
0
投稿

猜你喜欢

  • C#获取CPU编号的方法

    2022-01-05 10:57:37
  • Spring Cloud Config实现分布式配置中心

    2022-04-25 16:28:07
  • Spring Boot 动态数据源示例(多数据源自动切换)

    2021-07-03 04:27:02
  • spring boot整合Shiro实现单点登录的示例代码

    2023-04-07 01:17:56
  • Kotlin协程开发之Flow的融合与Channel容量及溢出策略介绍

    2023-07-02 23:52:01
  • Java的Socket网络编程基础知识入门教程

    2021-11-19 10:10:37
  • Java杂谈之重复代码是什么

    2022-06-08 15:07:24
  • Druid(新版starter)在SpringBoot下的使用教程

    2021-07-03 20:25:18
  • C#中实现插入、删除Excel分页符的方法

    2022-05-27 02:51:16
  • spring boot使用thymeleaf为模板的基本步骤介绍

    2023-12-13 15:07:23
  • Android四大组件之broadcast广播使用讲解

    2023-07-27 12:41:50
  • C#定时器和随机数

    2023-10-28 15:30:34
  • Java中instanceof关键字的用法总结

    2022-12-11 15:52:27
  • 解决myBatis generator逆向生成没有根据主键的select,update和delete问题

    2022-05-13 06:18:56
  • Springboot jar主清单属性丢失解决方案

    2022-04-06 05:30:26
  • Android组件banner实现左右滑屏效果

    2023-11-01 17:54:59
  • Java使用Collections.sort()排序的方法

    2022-09-11 18:47:55
  • 详解Mybatis中的select方法

    2023-06-10 05:44:49
  • Java Idea高效率配置技巧实例解析

    2023-06-05 13:24:42
  • C# XML基础入门小结(XML文件内容增删改查清)

    2022-10-18 17:12:02
  • asp之家 软件编程 m.aspxhome.com