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

本文实例演示了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即可");
}
(0)

相关推荐

  • DevExpress实现自定义GridControl中按钮文字内容的方法

    在一些C#项目的开发中,有时候会使用到GridControl的FindPanel,这样可以很好的对数据进行筛选,可是所展现的按钮文字是英文,如下图所示: 那怎么定义两个按钮问题,以符合项目需求了?本文讲述利用GridLocalizer来实现这一要求的方法.具体步骤如下: 主要功能代码如下: public class BuilderGridLocalizer : GridLocalizer { Dictionary<GridStringId, string> CusLocalizedKeyVal

  • DevExpress GridControl实现根据RowIndex和VisibleColumnsIndex来获取单元格值

    本文实例展示了DevExpress GridControl实现根据RowIndex和VisibleColumnsIndex来获取单元格值的方法,具体如下所示: 主要功能代码如下: /// <summary> /// 根据rowIndex和visibleColumnsIndex来获取单元格可见值 /// </summary> /// <param name="view">GridView</param> /// <param name

  • DevExpress根据条件设置GridControl RepositoryItem是否可编辑

    本文实例展示了DevExpress根据条件设置GridControl RepositoryItem是否可编辑的方法. 一般在C#项目的开发中,并不是每个RepositoryItem都可以编辑,往往是有条件性的,需要譬如当A列等于"AA"的时候,B列才可编辑,实现起来在ShowingEditor事件中最为方便,并且加入toolTip提示显得人性化. 主要功能代码如下: private void gvLampConfig_ShowingEditor(object sender, Syste

  • DevExpress中GridControl列转义的实现方法

    在一些项目的实际开发过程中,我们有时候需要对GridControl中列值进行转义,譬如1转义成"完成"等等,一般在诸如CustomColumnDisplayText事件中能够轻松完成,为了提高代码复用性,所以需要对CustomColumnDisplayText进行包装.具体方法如下: 主要功能代码如下: /// <summary> /// CustomColumnDisplayText Helper /// </summary> /// <param na

  • DevExpress实现GridControl显示Gif动画的方法

    本文讲述了DevExpress实现GridControl显示Gif动画的方法,是进行C#应用开发中比较重要的功能,具体实现方法如下: 一般来说,如果没有对其进行相关设置,那么GridControl列中gif在编辑状态下,才能显示动画效果,如果要设置列自动显示动画效果,可以进行如下图所示设置: 调用代码如下: gridView.OptionsView.AnimationType== GridAnimationType.AnimateAllContent; 希望本文所述方法能够对读者进行C#项目开发

  • DevExpress实现GridControl根据列选中一行

    本文实例形式展示了DevExpress实现GridControl根据列选中一行的方法,比较实用的功能,希望能对大家进行项目开发起到一定的借鉴与帮助作用.具体方法如下: 主要功能代码如下: /// <summary> /// 根据列来选中一行 /// </summary> /// <param name="gridView">GridView</param> /// <param name="colName">

  • DevExpress实现GridControl列头绘制Checkbox的方法

    本文实例展示了DevExpress实现GridControl列头绘制Checkbox的方法,具体实现方法如下: 主要功能代码如下: /// <summary> /// 为列头绘制CheckBox /// </summary> /// <param name="view">GridView</param> /// <param name="checkItem">RepositoryItemCheckEdit&

  • DevExpress实现GridControl同步列头checkbox与列中checkbox状态

    本文实例展示了DevExpress实现GridControl同步列头checkbox与列中checkbox状态的方法,有一定的实用价值,具体方法如下: 主要功能代码如下: /// <summary> /// 同步列头checkbox与列中checkbox状态 /// </summary> /// <param name="view">GridView</param> /// <param name="fieldeName&

  • DevExpress实现GridControl删除所有行的方法

    本文实例讲述了DevExpress实现GridControl删除所有行的方法,希望对读者进行C#程序设计有一定的帮助,具体方法如下: 主要功能代码如下: /// <summary> /// 删除全部行 /// </summary> /// <param name="gridView">GridView</param> public static void ClearRows(this GridView gridView) { bool _

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

    本文实例演示了DevExpress实现GridControl单元格编辑验证的方法,比较实用的功能,具体方法如下: 主要功能代码如下: /// <summary> /// 自定义单元格验证 /// </summary> /// <param name="view">GridView</param> /// <param name="e">BaseContainerValidateEditorEventArgs

  • Layui数据表格之单元格编辑方式

    开发工具与关键技术:VS.layui数据表格之单元格编辑 layui是我们常用的一个插件,是一款采用自身模块规范编写的前端 UI 框架,遵循原生 HTML/CSS/JS 的书写与组织形式,其中有很多模快,而每个模板又包括很多模板,下面我要讲解的是数据表格中的单元格编辑. 1.在使用layui之前首先确保已经引入了layui的css和js脚本文件. 2.初始化layui模块. layui.use(['table'], function () { //声明一个layuiTable变量作为全局变量.

  • bootstrap table实现x-editable的行单元格编辑及解决数据Empty和支持多样式问题

    前言 最近在研究bootstrap table的表格的单元格编辑功能,实现点击单元格修改内容,其中包括文本(text)方式修改,下拉选择(select)方式修改,日期(date)格式修改等. 本文着重解决x-editable编辑的数据动态添加和显示数据为Empty的问题,还有给表格单元格的内容设置多样式,使得显示多样化. 由于官网给的demo的数据都是html文件里写好的,select类型的不能动态添加(所以网上的大多都是官网的类似例子,本篇博客就是在这种情况下以自己的经验分享给大家,有问题可以

  • layui监听单元格编辑前后交互的例子

    我就废话不多说啦,大家直接看代码就行了! 如下所示: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> <title>...</title>

  • element-ui直接在表格中点击单元格编辑

    目录 实现效果 实现代码 最近由于公司开始使用elementUI,开发的过程中需要用到对表格的单元格进行编辑,下面是我自己实现表格可编辑的方式,感兴趣的可以了解一下 实现效果 编辑之后对应表格数据该字段值也就发生了变化,控制台输出所有数据即可查看变化 实现代码 1.自定义编辑组件 <template> <div class="editCell"> <div class="canEdit" v-if="CanEdit"

  • JS实现控制表格内指定单元格内容对齐的方法

    本文实例讲述了JS实现控制表格内指定单元格内容对齐的方法.分享给大家供大家参考.具体如下: 下面的代码控制表格单元格的内容向右对齐 <!DOCTYPE html> <html> <head> <script> function alignCell() { document.getElementById('td1').align="right"; } </script> </head> <body> &l

  • PHP使用PHPExcel删除Excel单元格指定列的方法

    本文实例讲述了PHP使用PHPExcel删除Excel单元格指定列的方法.分享给大家供大家参考,具体如下: 需求是这样的: 有一个系统仅公司内部和外部经销商使用,在一个导出功能中公司内部员工跟外部经销商导出的列是不一样的(某些数据是不能提供给经销商的) 因为导出的数据都是一样的(某些列外数据外部没有)因此并没有单独处理,而是统一生成然后根据不同的账户再删除没有权限的列 /** * @Author: HTL * @Description: 移出单元列 * @objPHPExcel: phpexec

  • JS获取表格内指定单元格html内容的方法

    本文实例讲述了JS获取表格内指定单元格html内容的方法.分享给大家供大家参考.具体如下: 下面的代码先通过表格对象的rows获得指定的行的所有单元格数组,然后定位指定的单元格,通过单元格的innerHTML属性获得单元格的html内容 <!DOCTYPE html> <html> <head> <script> function cell() { var x=document.getElementById('myTable').rows[0].cells;

  • JS实现控制表格单元格垂直对齐的方法

    本文实例讲述了JS实现控制表格单元格垂直对齐的方法.分享给大家供大家参考.具体如下: 下面的代码控制指定的单元格靠底部垂直对齐 <!DOCTYPE html> <html> <head> <script> function valignCell() { var x=document.getElementById('myTable').rows[0].cells; x[0].vAlign="bottom"; } </script>

  • JavaScript实现点击单元格改变背景色的方法

    本文实例讲述了JavaScript实现点击单元格改变背景色的方法.分享给大家供大家参考,具体如下: <html> <body> <table onclick="SetColor(event)" id="_t" width="500" border="0" cellspacing="0" cellpadding="0"> <tr> <t

随机推荐