簡體   English   中英

在只讀 object 屬性上編輯 DataGridViewCell

[英]Edit DataGridViewCell on readonly object property

我已將 DataGridView 綁定到BindingList<MyObj> ,它具有只讀的 Value 屬性(受保護)。

所以我有一個方法來改變它的值( MyObj.SetValue(string newValue) )。

DataGridView 的標准行為也是鎖定單元格編輯,但是沒有辦法“模擬”編輯然后傳遞正確的方法來更新值?

我試圖設置column.ReadOnly = false ,但它會引發異常。 它不會觸發CellBeginEdit事件,所以我必須在它前面創建另一個文本框來執行此操作嗎?

根據 MSDN,似乎唯一的例外是:

異常 InvalidOperationException 設置此屬性時沒有所屬行。

-或者-

設置此屬性時共享所屬行。

因此,請檢查是否實際上是OwningRow ,或者該行是否恰好是共享的。

此外, Remark section說:

ReadOnly 屬性表示單元格顯示的數據是否可以編輯。 > > 您可以為單個單元格設置 ReadOnly,也可以通過設置 DataGridViewRow.ReadOnly 或 DataGridViewColumn.ReadOnly > > 屬性將 > > 單元格的整行或整列設為只讀。 默認情況下,如果單元格的父行或列設置為只讀,則子 > 單元格將采用相同的值。 您可以通過為單個單元格設置 > > > > ReadOnly 來覆蓋此默認行為。

您可以導航到只讀單元格,並且可以將只讀單元格設置為當前 > 單元格。

ReadOnly 只影響單元格是否可編輯; 它不影響用戶 > > 是否可以刪除行。

聽起來一切都在那里。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM