[英]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.