C#操作DataGridView设置单元格只读
作者:.NET开发菜鸟 时间:2023-12-22 15:05:26
一、修改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
标签:C#,DataGridView,单元格,只读
0
投稿
猜你喜欢
加载页面遮挡耗时操作任务页面--第三方开源之AndroidProgressLayout
2022-08-03 19:44:33
Spring Security中用JWT退出登录时遇到的坑
2022-05-19 10:30:28
Android Notification 使用方法详解
2021-07-14 14:42:01
Java反射 JavaBean对象自动生成插入,更新,删除,查询sql语句操作
2022-04-05 20:07:11
Spring Boot2.x集成JPA快速开发的示例代码
2022-11-21 04:55:41
Spring容器-BeanFactory和ApplicationContext使用详解
2022-03-20 07:02:45
mybatis和mybatis-plus同时使用的坑
2021-07-22 14:03:13
C#中RSA加密与解密的实例详解
2022-09-01 15:43:06
Spring-IOC容器中的常用注解与使用方法详解
2021-05-26 23:37:45
C++实现LeetCode(144.二叉树的先序遍历)
2023-12-22 19:41:57
Java解释器的运行过程介绍
2022-10-03 01:21:30
解决IDEA service层跳转实现类的快捷图标消失问题
2022-09-03 06:38:00
Android 如何修改APK的默认名称
2021-08-12 18:56:42
Android仿微信对话列表滑动删除效果
2023-04-15 13:22:30
Android Service启动过程完整分析
2021-11-25 11:02:44
spring boot和mybatis集成分页插件
2021-11-05 10:21:17
详解Java8中Optional的常见用法
2022-04-30 14:32:21
图文详解Maven工程打jar包的N种方式
2022-12-12 21:36:23
C#操作注册表的方法
2023-06-24 14:34:46
Java中的内部类使用详情
2022-07-24 05:09:38