溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

C#怎么操作DataGridView設(shè)置單元格只讀

發(fā)布時(shí)間:2022-02-28 09:17:05 來源:億速云 閱讀:198 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹C#怎么操作DataGridView設(shè)置單元格只讀,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

一、修改ReadOnly屬性

1、設(shè)置整個(gè)DataGridView只讀:

DataGridView.ReadOnly=true;

此時(shí)用戶的新增行和刪除行操作也被屏蔽了。

2、設(shè)置DataGridView內(nèi)某個(gè)單元格不可編輯,例如:設(shè)置第二行第一列的單元格不可編輯:

this.dgv_PropDemo[0, 1].ReadOnly = true;

3、設(shè)置DataGridVIew的某列整列不可編輯,例如:設(shè)置第二列不可編輯:

this.dgv_PropDemo.Columns[1].ReadOnly = true;

4、設(shè)置DataGridView的某行整行不可編輯,例如:設(shè)置第三行不可編輯:

this.dgv_PropDemo.Rows[2].ReadOnly = true;

二、使用EditMode屬性

EditMode屬性:獲取或設(shè)置一個(gè)值,該值指示如何開始編輯單元格,屬性值是DataGridViewEditMode枚舉值之一。

成員名稱說明
EditOnEnter當(dāng)單元格接收到焦點(diǎn)時(shí)即可開始編輯。在按 Tab 鍵在行中橫向輸入值,或按 Enter 鍵在列中縱向輸入值時(shí),此模式非常有用。
EditOnF2當(dāng)單元格獲得焦點(diǎn)時(shí)按 F2 開始編輯。此模式將選擇點(diǎn)放置在單元格內(nèi)容的末尾。
EditOnKeystroke當(dāng)單元格獲得焦點(diǎn)時(shí)按任意字母數(shù)字鍵開始編輯。
EditOnKeystrokeOrF2當(dāng)單元格獲得焦點(diǎn)時(shí)按任意字母數(shù)字鍵或 F2 開始編輯。 默認(rèn)值
EditProgrammatically僅在調(diào)用 BeginEdit 方法時(shí)開始編輯。  

注:除了EditProgrammatically之外,所有DataGridViewEditMode值都允許用戶通過雙擊單元格來開始編輯該單元格。

當(dāng)DataGridView的EditMode屬性被設(shè)置為EditProgrammatically時(shí),用戶就不能手動(dòng)編輯單元格的內(nèi)容了。但是可以通過程序,調(diào)用DataGridView.BeginEdit方法,使單元格進(jìn)入編輯模式進(jìn)行編輯。

例如:

this.dgv_PropDemo.BeginEdit(true);

三、根據(jù)條件設(shè)定單元格的不可編輯狀態(tài)

當(dāng)一個(gè)一個(gè)的通過單元格坐標(biāo)設(shè)定單元格ReadOnly屬性的方法太麻煩的時(shí)候,你可以通過CellBeginEdit事件來取消單元格的編輯。

示例:

 private void dgv_PropDemo_CellBeginEdit(object sender, DataGridViewCellCancelEventArgs e)
        {
            DataGridView dgv = sender as DataGridView;
            //當(dāng)前單元格的列名稱等于Sex并且當(dāng)前單元格的值等于“男”的時(shí)候取消編輯
            if (dgv.Columns[e.ColumnIndex].Name == "Sex" && dgv[e.ColumnIndex, e.RowIndex].Value.ToString().Trim() == "男")
            {
                //取消編輯
                e.Cancel = true;
            }
        }

以上是“C#怎么操作DataGridView設(shè)置單元格只讀”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI