我创建了一些代码,该代码使用许多字段(例如:长度,宽度,LbsPerInch)来计算订单数量。我用了这个:
cache.SetValue<SOLine.orderQty>(e.Row, dQO);
那部分工作得很好。更新之后,我需要让该行更新其余的行,就像orderQty是手动更新的一样。
我尝试使用以下内容,但这一定不正确,因为它似乎在运行时完全交出了表格。
Base.Transactions.Update(row);
Base.Transactions.View.RequestRefresh();
谢谢!
答案 0 :(得分:0)
当用户在屏幕上修改字段时,它将引发该字段的FieldUpdated事件。 您扩展的基础图可以声明这些FieldUpdated事件的处理程序。问题可能是没有引发OrderQty字段事件,基础图使用这些事件来更新其他值取决于OrderQty的字段。
SetValue
方法将更改字段值,而不会引发字段事件。
SetValueExt
方法会更改字段值并引发字段事件。
您可以尝试使用SetValueExt
代替SetValue
:
cache.SetValueExt<SOLine.orderQty>(e.Row, dQO);
通常就足够了。通常,最顽固的刷新问题可以通过在修改字段后调用RaiseRowUpdated
方法来引发行事件来解决。