DataGridView使用技巧十二:DataGridView Error图标表示的设定
为了提醒用户注意,DataGridView可以使用Error图标来突出显示。
Error图标可以在单元格和行头内表示,但不能在列头上显示。
1、ErrorText属性
当设定单元格/行的ErrorText属性的内容后,单元格/行的Error图标就会被表示出来。另外,只有在DataGridView.ShowCellErrors=True时,Error图标才能显示。(默认属性为True)
设定(0,0)的单元格表示Error图标
this.dgv_Users[, ].ErrorText = "只能输入男或女";
设定第4行的行头显示Error图标
this.dgv_Users.Rows[].ErrorText = "不能输入负数";
2、CellErrorTextNeeded、RowErrorTextNeeded事件
即时输入时的Error图标的表示,可以使用CellErrorTextNeeded事件。同时,在大量的数据处理时,需要进行多处的内容检查并显示Error图标的应用中,遍历单元格设定ErrorText的方法是效率低下的,应该使用CellErrorTextNeeded事件。行的Error图标的设定则应该使用RowErrorTextNeeded事件。但是,需要注意的是当DataSource属性设定了VirtualMode=True时,上述事件则不会被触发。
CellErrorTextNeeded、RowErrorTextNeeded事件一般在需要保存数据时使用,保存数据之前先判断单元格输入的值是否合法,如果不合法,则在不合法的单元格或行显示Error图标。相当于做了一个客户端的验证。
private void dgv_Users_CellErrorTextNeeded(object sender, DataGridViewCellErrorTextNeededEventArgs e)
{
DataGridView dgv=sender as DataGridView; if (dgv.Columns[e.ColumnIndex].Name.Equals("Sex"))
{
string value = dgv[e.ColumnIndex, e.RowIndex].Value.ToString();
if (!value.Equals("男") && !value.Equals("女"))
{
e.ErrorText = "只能输入男或女";
}
}
}
private void dgv_Users_RowErrorTextNeeded(object sender, DataGridViewRowErrorTextNeededEventArgs e)
{
DataGridView dgv = sender as DataGridView;
if (dgv["UserName", e.RowIndex].Value == DBNull.Value && dgv["Password", e.RowIndex].Value == DBNull.Value)
{
e.ErrorText = "UserName和Password列必须输入值";
}
}
DataGridView使用技巧十二:DataGridView Error图标表示的设定的更多相关文章
- DataGridView使用技巧十:单元格表示值的自定义
通过CellFormatting事件,可以自定义单元格的表示值.(比如:值为Error的时候,单元格被设定为红色) 示例: private void dgv_Users_CellFormatting( ...
- DataGridView使用技巧九:DataGridView的右键菜单(ContextMenuStrip)
DataGridView,DataGridViewColumn,DataGridViewRow,DataGridViewCell有ContextMenuStrip属性.可以通过设置ContextMen ...
- DataGridView使用技巧十一:DataGridView用户输入时,单元格输入值的设定
通过DataGridView.CellParsing事件可以设定用户输入的值.下面的示例:当输入英文文本内容的时候,立即被改变为大写.DataGridView.CellParsing在离开编辑的单元格 ...
- Eclipse用法和技巧十二:快速复制一行
写代码的总有那么个时候需要Ctrl+c,Ctrl+v,在eclipse中如果遇到需要快速在一行代码的上下复制一行的话,有很方便的快捷键可以使用.将光标放到某一行,按住Ctrl+Alt+Down,即可以 ...
- Linux Shell常用技巧(十二)
二十三. Bash Shell编程: 1. 读取用户变量: read命令是用于从终端或者文件中读取输入的内建命令,read命令读取整行输入,每行末尾的换行符不被读入.在read命令后面,如果 ...
- Thinking in Java,Fourth Edition(Java 编程思想,第四版)学习笔记(十二)之Error Handling with Exceptions
The ideal time to catch an error is at compile time, before you even try to run the program. However ...
- 关于Authorware的十二种使用技巧
Authorware是美国Macromedia公司(现已被adobe公司收购)开发的一种多媒体制作软件,它是一个图标导向式的多媒体开发工具.今天我们学习一下Authorware的十二种使用技巧,如果你 ...
- DataGridView使用技巧(七、设定列宽和行高自动调整)----.NET
DataGridView使用技巧(七.设定列宽和行高自动调整)----.NET 1) 设定行高和列宽自动调整 [VB.NET]' 设定包括Header和所有单元格的列宽自动调整DataGridView ...
- 《手把手教你》系列技巧篇(三十二)-java+ selenium自动化测试-select 下拉框(详解教程)
1.简介 在实际自动化测试过程中,我们也避免不了会遇到下拉选择的测试,因此宏哥在这里直接分享和介绍一下,希望小伙伴或者童鞋们在以后工作中遇到可以有所帮助. 2.select 下拉框 2.1Select ...
随机推荐
- python学习笔记——信号模块signal
基于python学习笔记——多进程间通信——Linux信号基础的学习基础,进一步学习Python标准库中的signal模块. 尽管signal是python中的模块,但是主要针对UNIX平台(比如Li ...
- 在rhel6上安装Python 2.7和Python 3.3
安装前,操作系统软件包准备编译python要安装development tools.此外,还要安装一些其他的libs,没有这些libs,python的interpreter可能会无法正常工作 # yu ...
- debian更新源时找不到公钥的解决办法
W: GPG error: http://mirrors.163.com jessie-updates InRelease: The following signatures couldn't be ...
- Html中meta标签详解--以前经常忽略的
W3School介绍:http://www.w3school.com.cn/html5/html5_meta.asp meta是用来在HTML文档中模拟HTTP协议的响应头报文. meta 标签的用处 ...
- CSS2中的伪类与伪元素
CSS 伪类用于向某些选择器添加特殊的效果. 我们最常见的就是有超链接的时候,向下面这样 a:link {color: #FF0000} /* 未访问的链接 */ a:visited {color: ...
- ios网络层优化深入浅出
网络层是iOS开发必须掌握的部分,苹果已经将网络请求封装得非常易用了,看看NSURLRequest和NSURLConnection的文档,你就知道怎么用了,这里我就不细讲了.本文主要讲网络层的调用逻辑 ...
- 使用SQL语句的子查询批量复制表数据
批量复制表数据这里有两种方法,下面分别来介绍这两种方法: 一.手动创建新表,然后复制数据 如果是要复制整个表的话,可以使用SQL SERVER自动生成CREATE脚本: 然后在脚本中改改表名就可以了, ...
- 浅谈CPU,GPU,TPU,DPU,NPU,BPU
https://www.sohu.com/a/191538165_777155 A12宣传的每秒5万亿次运算,用计算机语言描述就是5Tops. 麒麟970 NPU,根据资料是 1.92Tops. 麒麟 ...
- 查杀病毒的NB命令
kill - `pgrep linux|awk '{++S[$1]}END{for (i in S) print i}'` teamkill #!/bin/bash set -x kill - `pg ...
- TransitiveClosure
http://acm.nudt.edu.cn/~twcourse/TransitiveClosure.html https://en.wikipedia.org/wiki/Closure_(mathe ...