DataGridView使用技巧十二:DataGridView Error图标表示的设定

为了提醒用户注意,DataGridView可以使用Error图标来突出显示。

Error图标可以在单元格和行头内表示,但不能在列头上显示。

1、ErrorText属性

当设定单元格/行的ErrorText属性的内容后,单元格/行的Error图标就会被表示出来。另外,只有在DataGridView.ShowCellErrors=True时,Error图标才能显示。(默认属性为True)

设定(0,0)的单元格表示Error图标

1 this.dgv_Users[0, 0].ErrorText = "只能输入男或女";

设定第4行的行头显示Error图标

1 this.dgv_Users.Rows[3].ErrorText = "不能输入负数";

2、CellErrorTextNeeded、RowErrorTextNeeded事件

即时输入时的Error图标的表示,可以使用CellErrorTextNeeded事件。同时,在大量的数据处理时,需要进行多处的内容检查并显示Error图标的应用中,遍历单元格设定ErrorText的方法是效率低下的,应该使用CellErrorTextNeeded事件。行的Error图标的设定则应该使用RowErrorTextNeeded事件。但是,需要注意的是当DataSource属性设定了VirtualMode=True时,上述事件则不会被触发。

CellErrorTextNeeded、RowErrorTextNeeded事件一般在需要保存数据时使用,保存数据之前先判断单元格输入的值是否合法,如果不合法,则在不合法的单元格或行显示Error图标。相当于做了一个客户端的验证。

 1 private void dgv_Users_CellErrorTextNeeded(object sender, DataGridViewCellErrorTextNeededEventArgs e)
 2 {
 3             DataGridView dgv=sender as DataGridView;
 4
 5             if (dgv.Columns[e.ColumnIndex].Name.Equals("Sex"))
 6             {
 7                 string value = dgv[e.ColumnIndex, e.RowIndex].Value.ToString();
 8                 if (!value.Equals("男") && !value.Equals("女"))
 9                 {
10                     e.ErrorText = "只能输入男或女";
11                 }
12             }
13 }
1 private void dgv_Users_RowErrorTextNeeded(object sender, DataGridViewRowErrorTextNeededEventArgs e)
2 {
3             DataGridView dgv = sender as DataGridView;
4             if (dgv["UserName", e.RowIndex].Value == DBNull.Value && dgv["Password", e.RowIndex].Value == DBNull.Value)
5             {
6                 e.ErrorText = "UserName和Password列必须输入值";
7             }
8 }
时间: 2024-11-07 02:31:06

DataGridView使用技巧十二:DataGridView Error图标表示的设定的相关文章

Linux Shell常用技巧(十二) Shell编程

Linux Shell常用技巧(十二) Shell编程 二十三. Bash Shell编程:  1.  读取用户变量:    read命令是用于从终端或者文件中读取输入的内建命令,read命令读取整行输入,每行末尾的换行符不被读入.在read命令后面,如果没有指定变量名,读取的数据将被自动赋值给特定的变量REPLY.下面的列表给出了read命令的常用方式: 命令格式 描述 read answer 从标准输入读取输入并赋值给变量answer. read first last 从标准输入读取输入到第

Linux Shell常用技巧(十二)

二十三. Bash Shell编程:  1.  读取用户变量:    read命令是用于从终端或者文件中读取输入的内建命令,read命令读取整行输入,每行末尾的换行符不被读入.在read命令后面,如果没有指定变量名,读取的数据将被自动赋值给特定的变量REPLY.下面的列表给出了read命令的常用方式: 命令格式 描述 read answer 从标准输入读取输入并赋值给变量answer. read first last 从标准输入读取输入到第一个空格或者回车,将输入的第一个单词放到变量first中

DataGridView使用技巧十:单元格表示值的自定义

通过CellFormatting事件,可以自定义单元格的表示值.(比如:值为Error的时候,单元格被设定为红色) 示例: 1 private void dgv_Users_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) 2 { 3 try 4 { 5 if (e == null || e.Value == null || !(sender is DataGridView)) 6 return; 7 Dat

Mac OS使用技巧十二:解决APP Store更新、下载出错的问题

前面介绍了Mac OSX那么多强大的功能和各式各样的使用技巧,那么苹果系统有没有让人头疼的地方呢?恐怕APP Store的下载问题一直是困扰许多用户的永恒问题,为什么有的时候就可以下,为什么有的时候就不可以下?可能是因为网络问题,可能是因为系统bug,可能是因为没有翻墙,具体原因我们也不明了.最常见就是下面的情景,实际情况是,你特么去已购页面再试也是没用的. 这里我在网络上积累的多种常用方法和一些自己亲身的体会,来教大家几种解决APP Store无法下载的方法. 一.首先是修改DNS,系统偏好

DataGridView使用技巧九:DataGridView的右键菜单(ContextMenuStrip)

DataGridView,DataGridViewColumn,DataGridViewRow,DataGridViewCell有ContextMenuStrip属性.可以通过设置ContextMenuStrip对象来控制DataGridView的右键菜单的显示. DataGridViewColumn的ContextMenuStrip属性设定除了列头以外的单元格的右键菜单. DataGridViewRow的ContextMenuStrip属性设定除了行头以外的单元格的右键菜单. DataGrid

DataGridView使用技巧十一:DataGridView用户输入时,单元格输入值的设定

通过DataGridView.CellParsing事件可以设定用户输入的值.下面的示例:当输入英文文本内容的时候,立即被改变为大写.DataGridView.CellParsing在离开编辑的单元格之后会被触发. 示例: 1 private void dgv_Users_CellParsing(object sender, DataGridViewCellParsingEventArgs e) 2 { 3 DataGridView dgv = sender as DataGridView; 4

Eclipse用法和技巧十二:快速复制一行

写代码的总有那么个时候需要Ctrl+c,Ctrl+v,在eclipse中如果遇到需要快速在一行代码的上下复制一行的话,有很方便的快捷键可以使用.将光标放到某一行,按住Ctrl+Alt+Down,即可以在下面快速复制一行,按住Ctrl+Alt+Up,即可以在上面快速复制一行.        这里有一点需要注意:intel的显示器,其显示方向的快捷键也是Ctrl+Alt+方向键,而且其响应的优先级比较高.这个时候你需要找到显示器设置的地方,去关闭快捷键响应.如果不好找的话,也可以修改eclipse的

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, not all errors can be detected at compile time. To create a robust system, each component must be robust. By providing a consistent error-reporting

android产品研发(二十二)-->android实用调试技巧

转载请标明出处:一片枫叶的专栏 上一篇文章中我们讲解了android UI优化方面的知识.我们讲解了android中的include.marge.ViewStub标签,在使用这些标签时可以简化我们的布局文件,优化组件绘制流程:讲解了android中的过度绘制相关知识点,通过优化我们的App过度绘制可以提高App的UI绘制流程与性能:我们还讲解了App中一些UI优化的小tips.更多关于android UI优化方面的知识可以参考我的:android产品研发(二十一)–>android中的UI优化