Axapta 初始化表单的init方法中编辑方法的值
我想在表单的init方法中初始化edit方法的值,我写了以下内容:Axapta 初始化表单的init方法中编辑方法的值,axapta,x++,dynamics-365,Axapta,X++,Dynamics 365,我想在表单的init方法中初始化edit方法的值,我写了以下内容: [Form] public class foo extends FormRun { str paymTermId; public void init() { CustTable custTable = CustTable::find("DE-001"); paymTer
[Form]
public class foo extends FormRun
{
str paymTermId;
public void init()
{
CustTable custTable = CustTable::find("DE-001");
paymTermId = custTable.paymTermId;
super();
}
edit str edtpaymTermId(boolean set, str _paymTermId)
{
if (set)
{
paymTermId= _paymTermId;
}
return paymTermId ;
}
}
但当我打开表单时,控件仍然为空
有什么建议吗?我试图重现这个问题,但没有成功。对我来说,打开表单时,控件显示一个值 它不适用于您的一个可能原因是您在错误的公司打开了表单。在代码中,从customer DE-001的付款条件中检索要在控件中显示的值。该客户存在于Contoso演示数据中的USMF公司,其付款条件为Net10。如果表单在此公司中打开,则该值将显示在控件中。如果您在另一家公司(如DAT),则不显示任何值
我发现有两件事是错误的:
编辑方法通常放置在表或表单数据源上。您的编辑方法在表单上定义,并设置类变量而不是表/数据源字段。这是一个可以转换为AX365的AX2012。确保在表单控件上设置编辑方法。旁注:为什么对控件使用编辑方法而不是数据源字段(初始化数据源字段不需要编辑方法)?