在“产品”下拉列表中,有2个值,第一个值(Product)将默认为第一行,第二个值(Co-Product)将默认为第二行。
我在FieldDefaulting事件中尝试了这个
protected void TSFormulaProdsNCoProds_Product_FieldDefaulting(PXCache cache, PXFieldDefaultingEventArgs e)
{
var row = (TSFormulaProdsNCoProds)e.Row;
if (row == null)
return;
if (TSFormProdsNCoProds.Select().Count == 0)
{
e.NewValue = "P";
}
else
{
e.NewValue = "C";
}
}
有人可以向我提出建议吗?
答案 0 :(得分:0)
您很可能在PXDefault
级别设置DAC
属性。在这种情况下,您需要设置Cancel
标志以防止执行属性中定义的FieldDefaulting
事件处理程序。
示例: -
protected void TSFormulaProdsNCoProds_Product_FieldDefaulting(PXCache cache, PXFieldDefaultingEventArgs e)
{
var row = (TSFormulaProdsNCoProds)e.Row;
if (row == null)
return;
e.NewValue = (TSFormProdsNCoProds.Select().Count == 0) ? "P" : "C";
e.Cancel = true;
}
Example 5.2: Inserting a Default Detail Data Record
T200 Acumatica Framework Fundamental course
解释了这一点。