DataGridView 行数据验证:当输入数据无效时不出现红色感叹号的Bug
private void dgvView_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
if (e.ColumnIndex == 0 && !dgvView.CurrentRow.IsNewRow) //判断第一列主键列是否空值(排除新增行)
{
if (string.IsNullOrEmpty(e.FormattedValue.ToString()))
{
dgvView.Rows[e.RowIndex].ErrorText = "主键列值不能为空"; //行的ErrorText不生效
e.Cancel = true; //要求再次修改,仍为编辑模式,不退出过程,程序继续往下执行
}
}
if (dgvView.Columns[e.ColumnIndex].Name == "contactName" && string.IsNullOrEmpty(e.FormattedValue.ToString()))
{
dgvView.Rows[e.RowIndex].Cells[e.ColumnIndex].ErrorText = "contactName没有录入"; //单元格的ErrorText生效了
}
}
以前的测试的时候使用正常,当输入数据无效时,行标题上会出现红色感叹号的圆形图标,最近拿起来适当修改完善了一下,发现ErrorText属性的设置失效了,行标题上死活都不出现红色感叹号的圆形图标,奇了怪了,怎么回事,搜遍全网(包括官网),没找到解决方案。
我就不信这个鞋,幸好有备份的之前的版本,拿过来和修改后的来个一一比对,半个小时后终于找到了,能气死个人,经测试,关键就是这一句:
dataGridView1.AutoSizeRowsMode = System.Windows.Forms.DataGridViewAutoSizeRowsMode.None;
DataGridViewAutoSizeRowsMode必须是None时,才会出现ErrorText属性的错误提示图标,My God,巨硬可耻,这么关键的设置也不在官网上特别注明一下,难道是一个Bug?
DataGridView 行数据验证:当输入数据无效时不出现红色感叹号的Bug的更多相关文章
- eclipse导入工程时出现大红色感叹号(转)
转载文章:http://blog.csdn.net/xiaotaibai2008/article/details/6365334 因为也遇到了同样的问题,所以google了以下,希望对于我这个小菜鸟有 ...
- Silverlight实例教程 – Datagrid,Dataform数据验证和ValidationSummary(转载)
Silverlight 4 Validation验证实例系列 Silverlight实例教程 - Validation数据验证开篇 Silverlight实例教程 - Validation数据验证基础 ...
- 学习Struts--Chap06:Struts2之数据验证
1.数据验证的概述 1.1.数据验证的重要性 数据验证是非常必要的,不但和我们的常识性理解有关系,还有可能涉及到一些非法输入等问题,所以我们需要进行必要的数据验证,以保证我们在数据输入的时候都是正确且 ...
- 在用easyui中做CRUD功能时,当删除一行或多行数据后再点击修改会提示你选中了多行,如何解决这个bug了?
在用easyui中做CRUD功能时,当删除一行或多行数据后再点击修改会提示你选中了多行,如何解决这个bug了? 在删除成功后,加上这句话就可以了:$("#dg").datagrid ...
- MVC 数据验证
MVC 数据验证 前一篇说了MVC数据验证的例子,这次来详细说说各种各样的验证注解.System.ComponentModel.DataAnnotations 一.基础特性 一.Required 必填 ...
- C# 数据库dataGridView刷新数据和主外键判断
本文主要讲诉在使用VS2012+SQL Server数据库做系统中,通常会遇到几个问题.使用dataGridView控件在修改.删除.插入数据后,怎样刷新数据显示操作后的结果.同时在对数据操作时通常会 ...
- yii2之数据验证
一.场景 什么情况下需要使用场景呢?当一个模型需要在不同情境中使用时,若不同情境下需要的数据表字段和数据验证规则有所 不同,则需要定义多个场景来区分不同使用情境.例如,用户注册的时候需要填写email ...
- 【MVC】ASP.NET MVC之数据验证
前端传到后端数据的不可信任性,DRY("Don't Repeat Yourself") 设计原则.MVC3.0出了后端数据验证特性,鼓励你只定义一次功能或行为,然后在应用程序中各处 ...
- 【转】Python Schema一种优雅的数据验证方式
转自 https://segmentfault.com/a/1190000011777230 Schema是什么? 不管我们做什么应用,只要和用户输入打交道,就有一个原则--永远不要相信用户的输入数据 ...
随机推荐
- jQuery的animate
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- Django Form 初始化数据
修改 urls.py 添加 path('initial.html', views.initial), 修改 models.py class UserInfo(models.Model): name = ...
- 基于Anaconda编译caffe+pycaffe+matcaffe in Ubuntu[不用sudo权限]
目录 caffe 编译 环境 github下载caffe源码 依赖 修改源码的编译配置 报错 测试使用 pycaffe caffe matcaffe caffe 编译 环境 Ubuntu16.04 C ...
- Java八大排序之希尔(Shell)排序
希尔排序(Shell's Sort)是插入排序的一种又称“缩小增量排序”(Diminishing Increment Sort),是直接插入排序算法的一种更高效的改进版本.希尔排序是非稳定排序算法.该 ...
- Js中的对象、构造函数、原型、原型链及继承
1.对象 在传统的面向过程的程序设计中,会造成函数或变量的冗余.而JS中对象的目的是将所有的具有相同属性或行为的代码整合到一起,形成一个集合,这样就会方便我们管理,例如: var person1={ ...
- php、mysql查询当天,查询本周,查询本月的数据实例(字段是时间戳)
php.mysql查询当天,查询本周,查询本月的数据实例(字段是时间戳) //其中 video 是表名: //createtime 是字段: // //数据库time字段为时间戳 // //查询当天: ...
- 201871010101-陈来弟《面相对象程序设计(java)》第十周学习总结
201871010101-陈来弟<面相对象程序设计(java)>第十周学习总结 实验八异常.断言与日志 实验时间 2019-11-1 1.实验目的与要求 (1) 掌握java异常处理技术: ...
- windows 上jenkins slave 执行脚本提示成功,但是没有运行
控制台结果,但是脚本没有运行Started by user admin Building remotely on test_1110 in workspace D:\jenkins\workspace ...
- 【转】Spring的IOC原理(通俗易懂)
1. IoC理论的背景 我们都知道,在采用面向对象方法设计的软件系统中,它的底层实现都是由Ñ个对象组成的,所有的对象通过彼此的合作,最终实现系统的业务逻辑. 如果我们打开机械式手表的后盖,就会看到与上 ...
- python json解析字符串出错该如何排查问题
每天写一点,总有一天我这条咸鱼能变得更咸 python中对于字符串转json格式有专门的json库可以操作 #!/usr/bin/env python # -*- coding: utf-8 -*- ...