无法禁用 UltraGrid 单元格

Cannot disable UltraGrid cells

我的项目中有一个 UltraGrid。数据可以输入到每个单元格中,然后保存到数据库中。我希望能够禁用当前行中的所有单元格,除了一个名为 Product_Code 的单元格。将数据输入活动行列后(通过 ValueList 输入),我希望所有其他单元格都可用于输入数据。

到目前为止我已经试过了

If Me.ugProducts.ActiveRow.Cells("Product_Code").Value.ToString = "" Then
    Me.ugProducts.ActiveRow.Cells("Product_Volume").Activation = Activation.Disabled
Else
    Me.ugProducts.ActiveRow.Cells("Product_Volume").Activation = Activation.AllowEdit
End If

但没有成功。构建项目后,所有单元格都可以立即输入,尽管没有输入任何值。

为什么不起作用?最好的方法是什么?

我在这里看到之前的一条评论,由于某种原因已经被删除了......但是,您可以尝试的一个解决办法是:

  • 在表单加载;添加 ugProducts.DisplayLayout.Override.CellClickAction = CellClickAction.CellSelect - 这将意味着所有单元格都被禁用,但您仍然可以 select ValueList for Product_Code
  • 现在,在 ugProductsCellListSelect 事件中,使用以下代码 ugProducts.DisplayLayout.Override.CellClickAction = CellClickAction.Edit(在进行任何验证检查或方法中已有的任何内容后,它将进入在这里的某个地方,如果你不太确定在哪里,就继续尝试)

无论如何,这现在应该可以让您随意填写它们了。