【发布时间】:2016-08-23 09:16:38
【问题描述】:
我有一个订单系统,可以在订单屏幕上输入订单。为此,它使用UltraGrid,其中每一行都是一个订单。见下图。
我知道,不知何故,可以使整行不可覆盖,从而无法编辑单元格中的数据,也无法将数据输入到空单元格中。
但是,我需要所有单元格都像这样,除了一个,直到这个单元格中有数据。 (例如,应禁用除“产品代码”之外的所有单元格,然后在填写产品代码后使其可供编辑)。我需要这样做的代码是什么?
我尝试使用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
谢谢。
【问题讨论】:
-
您应该做的第一件事是将
<>更改为=,因为如果Product_Code中的值不为空,则当前将它们设置为禁用。如果将.ToString添加到.Value的末尾会发生什么? -
@David 谢谢,这仍然给出同样的错误,但至少现在分配是正确的
标签: vb.net infragistics ultrawingrid