小编Slo*_*aje的帖子

如何确定更新 DAC 字段的正确方法?

在更新记录的值时,我在确定何时使用 e.Row 属性或 cache.SetValue/SetValueExt 时遇到了一些麻烦。在 T200 课程中,pdf 中有一部分内容是这样说的,

要更新数据访问类中在当前字段之后定义的字段,请使用 e.Row 数据记录的属性,如下所示。

ShipmentLine line = e.Row as ShipmentLine;
...
line.Description
Run Code Online (Sandbox Code Playgroud)

要更新数据访问类中在当前字段之前定义的字段,请使用 SetValueExt<>() 方法:

sender.SetValueExt<ShipmentLine.ProductID>(e.Row, GiftCardID);
Run Code Online (Sandbox Code Playgroud)

在这些情况下,当他们说“之前”和“之后”时,他们指的是什么?如果我的 DAC 字段声明按以下顺序排列:

Field1 {get;set;}
Field2 {get;set;}
Field3 {get;set;}
Run Code Online (Sandbox Code Playgroud)

他们的字面意思是,如果我在“Field2.FieldUpdated()”中,我必须像这样更新 Field1 和 Field3?

sender.SetValueExt<ShipmentLine.Field1>(e.Row, "X");
line.Field3 = "X";
Run Code Online (Sandbox Code Playgroud)

另外,对于何时使用哪种方法有一些硬性规定吗?即如果在 RowUpdated 事件中,使用“X”,如果在 FieldUpdated 事件中,使用“Y”。

c# acumatica

3
推荐指数
1
解决办法
327
查看次数

标签 统计

acumatica ×1

c# ×1