在表单的init方法中初始化edit方法的值

initialize value of edit method in init method of form

我想在表单的初始化方法中初始化一个编辑方法的值,我这样写:

[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 ;
    }
 }

但是当我打开表单时,控件仍然是空的。

有什么建议吗?

我尝试重现该问题,但没有成功。对我来说,打开表单时,控件显示一个值。

它对您不起作用的一个可能原因可能是您在错误的公司打开了表格。在您的代码中,您从客户 DE-001 的付款期限中检索要显示在控件中的值。此客户存在于 Contoso 演示数据中的 USMF 公司,付款期限为 Net10。如果在该公司中打开该窗体,该值将显示在控件中。如果您在另一家公司(例如 DAT),则不会显示任何值。

我发现有 2 处错误:

  1. 您正在设置 super() 之前的值。应该是在.
  2. 之后
  3. 你不应该通过字段初始化值,你应该调用编辑方法。 Edit 方法有一个布尔 SET 参数,可以模拟设置值的调用。