[英]Infragistics UltraGrid - Make individual cells disabled
我有一個訂單系統,在訂單屏幕上,可以輸入訂單。 為此,它使用UltraGrid
,其中每一行都是一個Order。 見下圖。
我知道,不知何故,可以使整行不可覆蓋,因此無法編輯單元格中的數據,也無法將數據輸入空單元格。
但是,我需要所有單元格的行為都是這樣的,除了一個,直到這個單元格中包含數據。 (例如,應禁用除“產品代碼”之外的所有單元格,然后在填寫產品代碼后將其用於編輯)。 我需要做什么代碼?
我已經嘗試使用With
語句將單元格單獨設置為ReadOnly
但這似乎不起作用。
編輯
我已使用下面的代碼禁用單個列激活,但我收到錯誤消息
你調用的對象是空的
誰能告訴我為什么?
If ugProducts.ActiveRow.Cells("Product_Code").Value <> "" Then
ugProducts.DisplayLayout.Bands(0).Columns(1).CellActivation = Activation.Disabled
ugProducts.DisplayLayout.Bands(0).Columns(2).CellActivation = Activation.Disabled
ugProducts.DisplayLayout.Bands(0).Columns(3).CellActivation = Activation.Disabled
Else
End If
謝謝。
方法是正確的:CellActivation是正確的道具。
但我認為這個問題是, 當你設置;)
你不談論什么時候。 如果你希望單元格設置一次,則右邊的“時刻”是UGrid的InitializeLayout event
。
在InitializeLayoutEventArgs
您將找到.Layout
,使用它來設置band-column.CellActivation。
相反,如果要控制特定行的特定單元格,則需要在InitializeRow event
處理此問題,並在eventarg中的行中設置單元格的激活。
如果您需要在用戶編輯單元格值時控制激活,請在AfterExitEditMode事件中處理它。
PS:個人建議,使用C#而不是VB。 更清晰,靈活和緊湊。
達維德
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.