作者:jiankunking 出处:http://blog.csdn.net/jiankunking

今天要做一个dev gridcongtrol输入单元格内容有效性的检测,此处以不允许为空、该列的值不允许重复为例。(当然也可以使用别的方式,但别的方式不好实现:当该单元格值不满足条件时,锁定整个gridview,除该单元格之外的位置都不允许输入,即将焦点锁定在这一个单元格)。

1、首先将要验证的列设置为RepositoryItemTextEdit类型,或者别的控件类型(其余控件类型未测试),以下以RepositoryItemTextEdit类型为例
2、找到RepositoryItemTextEdit的Validating事件,具体代码如下:

<span style="font-size:14px;"> private void TextEdit1_Validating(object sender, System.ComponentModel.CancelEventArgs e){BaseEdit textEdit = sender as BaseEdit;if (textEdit.Text.ToString().Trim().Length == 0){e.Cancel = true;//标识 错误提示errorReason = 0;return;}else{//获取GridView中所有的选中的行号//此处不允许多选,故只有一行int[] iRowId = this.gViewActList.GetSelectedRows();for (int i = 0; i < gViewActList.DataRowCount; i++){//重复检验时,不验证当前行if (i != iRowId[0]){//textEdit.EditValue  当前编辑的值//需要注意的是取当前单元格的值要用:textEdit.EditValue//GridView在TextEdit1_Validating执行时还未将你输入的值更新进去,但执行完该方法后,即使不满足条件,你所输入的值,也会更新到GridView中去//同时,也说明了,在Validating函数中排除重复值的时候,通过GridView获取当前行的值,不是最新的,即不是你最近一次输入的if (textEdit.EditValue.ToString().Trim() == gViewActList.GetDataRow(i)["GridView上绑定的列名"].ToString().Trim()){e.Cancel = true;//标识 错误提示errorReason = 1;return;}}}}</span>

3、根据Validating事件中的标识,进行错误信息提示:

<span style="font-size:14px;">private void gViewActList_InvalidValueException(object sender, InvalidValueExceptionEventArgs e){if (errorReason == 0){e.ErrorText = "动作名称不允许为空!";}else if (errorReason == 1){e.ErrorText = "动作名称不允许为重复!";}else{e.ErrorText = "值无效!";}}</span>

具体效果如下:

小注:

1、使用RepositoryItem.Validating事件,事件的"sender" 必须转换为BaseEdit类型,使用EditValue来获取当前输入的值并进行校验,如果校验不通过,把e.Cancel设置True。这种方法一般用来对内置控件的单元格进行数据验证。

2、使用 GridView.ValidatingEditor 事件 
 事件的"sender"必须转换为GridView类型,当前列可以从GridView.FocusedColumn属性获得,值可以从e.Value获取,如果校验不通过,需要把e.Valid设置为False.。这种方法一般用于对整个Grid内的文本框进行数据验证。

具体错误提示信息可以在GridView.InvalidValueException事件中进行处理

Dev GridControl 单元格输入数据的验证方法相关推荐

  1. dev gridcontrol 单元格内容复制_Excel中的复制粘贴,不只是你想的那么简单的

    白日何短短,百年苦易满.苍穹浩茫茫,万劫太极长.麻姑垂两鬓,一半已成霜.天公见玉女,大笑亿千场.吾欲揽六龙,回车挂扶桑.北斗酌美酒,劝龙各一觞.富贵非所愿,与人驻颜光. --[唐]李白<短歌行& ...

  2. dev gridcontrol 单元格内容复制_Excel复制还在用“Ctrl+C”?这5种高效的复制操作,堪称神来之笔...

    如果你经常使用Excel来办公,那它里面的一些快捷键使用应该不陌生吧!下面小编就要来说说Excel里面一些快捷键的操作,让我们一起来看看吧! 一.快速复制操作 1.填充相同内容 如果你想要在不同的单元 ...

  3. c++中整形输入逗号_Excel 2013中单元格添加下拉列表的方法

    使用Excel录入数据的时候我们通常使用下拉列表来限定输入的数据,这样录入数据就很少发生错误了.Excel 2013较以前的版本发生了很大的变化,那么在Excel 2013是如何添加下拉列表的呢? 下 ...

  4. 删除单元格_VBA(实验1)用VBA 删除某列空单元格的3种方法:删除法,转移到其他列方法,数组方法...

    1 要解决的问题:删除某列中的空单元格/空行 暂时只实现了删除一列中的空行,并没有实现多行的判断空行和删除方法.----之后再做更复杂的 1.1 需求分析 用VBA删除如下内容,解决思路都不同 删除1 ...

  5. html多个单元格合并单元格内容,excel怎样快速把多个单元格内容合并 合并多个单元格内容的设置方法...

    excel是我们常用的办公软件,有时我们需要把多个单元个的内容合并到一个单元格里,那么excel怎样快速把多个单元格内容合并?下面小编带来合并多个单元格内容的设置方法,希望对大家有所帮助. 合并多个单 ...

  6. PHP套入表格公式,单元格公式引用的方法

    单元格公式引用的方法 EXCEL公式中引用单元格方式 所有引用都可以直接输入,只是有些麻烦,可以直接点击引用单元格来产生引用单元格地址,同工作表的引用,点击相应的单元格,如:=A1+B1,先点击A1单 ...

  7. html如何取单元格内容,JS获取表格内指定单元格html内容的方法

    JS获取表格内指定单元格html内容的方法 本文实例讲述了JS获取表格内指定单元格html内容的方法.分享给大家供大家参考.具体如下: 下面的代码先通过表格对象的rows获得指定的行的所有单元格数组, ...

  8. html统计表合并单元格的快捷键,excel中合并单元格的快捷键的方法及设置技巧

    快捷键的熟练使用可以帮助我们在工作中提高效率,接下来为您讲解合并单元格的快捷键设置方法的图文演示 合并单元格在excel默认的情况下是没有快捷键的. 需要用以下方法设置 1.打开excel,选择工具- ...

  9. EXCEL单元格怎么合并 单元格数值的四舍五入方法

    EXCEL里面的单元格怎么合并 合并单元格方法 1:先选中要合并的几个单元格,然后依次单击 格式--单元格---对齐选象卡,选中合并单元格复选框,确定. 2,选中要合并的几个单元格,然后找到工具栏的合 ...

最新文章

  1. 2019年春季学期第七周作业
  2. java简单的面试题目_简单的面试题目,大跌眼镜的结果
  3. 医疗器械软件安全性级别判定
  4. linux服务器之间传输文件的四种方式
  5. 面向.NET开发人员的Dapr——参考应用程序
  6. Visual Studio Code 1.8版本添加了Hot Exit、Zen Mode及更多调试选项
  7. [集训队作业2018]小Z的礼物(min-max容斥,插头dp)
  8. c#endread怎么打印出来_打印机打印出来是白板是怎么回事
  9. Windows CE创建桌面快捷方式
  10. 华为5G英国首秀,BBC主持人震惊了!到底网速有多快?
  11. C++/C--STL API查询及免费教程网站
  12. time_t 和 struct tm 及时间戳的正确用法
  13. robocode机器人案例
  14. 基于python的猜大小游戏
  15. 基于MS强度或计数的数据依赖法非标记定量蛋白质组学的蛋白质互作分析(二)
  16. VOC数据集提取自己需要的类
  17. 楚留香 微信跟qq服务器,背靠QQ、微信的天刀手游,对上一梦江湖,赢面到底有多大?...
  18. CSS中#号、.号、*号详解
  19. Cat_Lee 的博客开张了。 欢迎各位 有空常来坐坐。
  20. replace() 和 replaceAll()区别

热门文章

  1. 【最全最详细】publiccms使用教程
  2. 网络营销推广落地方案(2018最新)
  3. Python与金融:为什么将Python用于金融
  4. dataguard日常管理
  5. 微软证实10月25日正式发布Windows8系统
  6. 状语和状语从句的使用
  7. 探究px像素与pt磅,mm毫米之间的换算
  8. Oracle 层级数据计算方式start with connect by
  9. gan 总结 数据增强_深度学习中的数据增强(下)
  10. C - Factors of Factorial(数学)