簡體   English   中英

Infragistics UltraGrid - 禁用單個單元

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

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