这篇文章介绍了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设置单元格只读
- .NET CORE DI 依赖注入 2023-09-27
- WPF使用DrawingContext实现绘制刻度条 2023-07-04
- user32.dll 函数说明小结 2022-12-26
- Oracle中for循环的使用方法 2023-07-04
- Unity3D实现渐变颜色效果 2023-01-16
- c# 模拟线性回归的示例 2023-03-14
- 在C# 8中如何使用默认接口方法详解 2023-03-29
- 如何使用C# 捕获进程输出 2023-03-10
- C# 使用Aspose.Cells 导出Excel的步骤及问题记录 2023-05-16
- Unity Shader实现模糊效果 2023-04-27