C#操作DataGridView设置单元格只读
作者:.NET开发菜鸟 发布时间:2023-12-22 15:05:26
标签:C#,DataGridView,单元格,只读
一、修改ReadOnly属性
1、设置整个DataGridView只读:
DataGridView.ReadOnly=true;
此时用户的新增行和删除行操作也被屏蔽了。
2、设置DataGridView内某个单元格不可编辑,例如:设置第二行第一列的单元格不可编辑:
this.dgv_PropDemo[0, 1].ReadOnly = true;
3、设置DataGridVIew的某列整列不可编辑,例如:设置第二列不可编辑:
this.dgv_PropDemo.Columns[1].ReadOnly = true;
4、设置DataGridView的某行整行不可编辑,例如:设置第三行不可编辑:
this.dgv_PropDemo.Rows[2].ReadOnly = true;
二、使用EditMode属性
EditMode属性:获取或设置一个值,该值指示如何开始编辑单元格,属性值是DataGridViewEditMode枚举值之一。
成员名称 | 说明 |
EditOnEnter | 当单元格接收到焦点时即可开始编辑。在按 Tab 键在行中横向输入值,或按 Enter 键在列中纵向输入值时,此模式非常有用。 |
EditOnF2 | 当单元格获得焦点时按 F2 开始编辑。此模式将选择点放置在单元格内容的末尾。 |
EditOnKeystroke | 当单元格获得焦点时按任意字母数字键开始编辑。 |
EditOnKeystrokeOrF2 | 当单元格获得焦点时按任意字母数字键或 F2 开始编辑。 默认值 |
EditProgrammatically | 仅在调用 BeginEdit 方法时开始编辑。 |
注:除了EditProgrammatically
之外,所有DataGridViewEditMode值都允许用户通过双击单元格来开始编辑该单元格。
当DataGridView的EditMode属性被设置为EditProgrammatically时,用户就不能手动编辑单元格的内容了。但是可以通过程序,调用DataGridView.BeginEdit方法,使单元格进入编辑模式进行编辑。
例如:
this.dgv_PropDemo.BeginEdit(true);
三、根据条件设定单元格的不可编辑状态
当一个一个的通过单元格坐标设定单元格ReadOnly属性的方法太麻烦的时候,你可以通过CellBeginEdit事件来取消单元格的编辑。
示例:
private void dgv_PropDemo_CellBeginEdit(object sender, DataGridViewCellCancelEventArgs e)
{
DataGridView dgv = sender as DataGridView;
//当前单元格的列名称等于Sex并且当前单元格的值等于“男”的时候取消编辑
if (dgv.Columns[e.ColumnIndex].Name == "Sex" && dgv[e.ColumnIndex, e.RowIndex].Value.ToString().Trim() == "男")
{
//取消编辑
e.Cancel = true;
}
}
来源:https://www.cnblogs.com/dotnet261010/p/6748582.html
0
投稿
猜你喜欢
- 最近一段时间在研究OAuth2的使用,想整个单点登录,从网上找了很多demo都没有实施成功,也许是因为压根就不懂OAuth2的原理导致。有那
- File类概述File类能新建、删除、重命名文件和目录,但不能访问文件内容本身,如果需要访问文件内容本身,则需要使用后续的输入/输出流。要在
- 本文实例为大家分享了java实现页显示效果的具体代码,供大家参考,具体内容如下效果图如下:实现步骤:1.创建实体User.class,参考代
- 1.类成员与方法的可见性最小化举例:如果是一个private的方法,想删除就删除如果一个public的service方法,或者一个publi
- Stripe支付首页需要引用Stripe.net框架,我引用的是22.8.0版本,注意.NETFramework的版本为4.5,同时需要引用
- java8的stream流能完美解对象集合去重问题. List<UserCar> list1 = new ArrayList()
- org.junit.jupiter.api不存在解决方案spring boot2.2之后和之前的测试类编写方法不一致修改为:// A cod
- 本文实例讲述了C#实现把图片转换成二进制以及把二进制转换成图片的方法。分享给大家供大家参考,具体如下:private void button
- 为什么会有常量池的概念?不知道小伙伴们是否有思考过这个问题? 没有思考也无所谓,小编在这里类比一下,大家就会清晰了。什么是池? 我们听的最多
- 1.数据类型的分类Java的数据类型主要分为两类:基本数据类型、引用数据类型Java中的字符串String属于引用数据类型。因为String
- 现在提起Android开发工具,大多人第一个想到的肯定是Android Studio。谷歌专门为Android开发者推出的这款IDE,以其强
- 在一次源码查看ThreadGroup的时候,看到一段代码,为以下:/* * @throws NullPointer
- 简单工厂模式解释: 简单工厂模式(Simple Fact
- Java单例模式实现的几种方式单例模式好多书上都是这么写的:public class SingleTon1 {private SingleT
- 上篇博客我们了解了请求参数的获取,那么获取到请求参数之后,需要对参数进行出来,然后进行数据响应。那么这篇博客我们就来了解 Controlle
- 这篇文章主要介绍了Java开发工具IntelliJ IDEA安装图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习
- Java实现驼峰、下划线互转1.使用 Guava 实现先引入相关依赖<dependency> <
- 前言青空最近在逛一些社区的时候发现了有很多图片是像素图,感觉挺好玩的。正巧最近自己在学习JavaCV,所以在这里给大家演示一下如何使用Jav
- 这篇文章主要介绍了Java反射通过Getter方法获取对象VO的属性值过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定
- 下载maven 解压路径: 打开环境变量:右键此电脑-属性-高级系统设置-高级-环境变量添加以下系统变量:测试:win+