日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

C#操作DataGridView設置單元格只讀_C#教程

作者:.NET開發菜鳥 ? 更新時間: 2022-04-30 編程語言

一、修改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

欄目分類
最近更新