这篇文章介绍了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;
}
}
到此这篇关于C#操作DataGridView设置单元格只读的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持得得之家。
本文标题为:C#操作DataGridView设置单元格只读


基础教程推荐
- 实例详解C#实现http不同方法的请求 2022-12-26
- C#通过标签软件Bartender的ZPL命令打印条码 2023-05-16
- Unity shader实现高斯模糊效果 2023-01-16
- c# – USING块在网站与Windows窗体中的行为不同 2023-09-20
- C# 解析XML和反序列化的示例 2023-04-14
- C#中的Linq to JSON操作详解 2023-06-08
- C#中 Json 序列化去掉null值的方法 2022-11-18
- C#调用摄像头实现拍照功能的示例代码 2023-03-09
- Unity 如何获取鼠标停留位置下的物体 2023-04-10
- C#获取指定目录下某种格式文件集并备份到指定文件夹 2023-05-30