Axapta 如何在离开StringEdit后检查它:在Dynamics AX中?

Axapta 如何在离开StringEdit后检查它:在Dynamics AX中?,axapta,dynamics-ax-2009,x++,dynamics-ax-2012,Axapta,Dynamics Ax 2009,X++,Dynamics Ax 2012,我想知道用户在MS Dynamics AX 2009中离开StringEdit字段后是否可以检查该字段 例如: 我有一个名为cliHouseNumber的字段,我想检查用户是否已离开此字段。在表单methods中创建此方法 edit String editcliHouseNumber( boolean set, String _cliHouseNumber ) { if(set) { //It has been changed - d

我想知道用户在MS Dynamics AX 2009中离开StringEdit字段后是否可以检查该字段

例如:


我有一个名为cliHouseNumber的字段,我想检查用户是否已离开此字段。

在表单methods中创建此方法

edit String editcliHouseNumber(
    boolean set,
    String    _cliHouseNumber
    )
{
    if(set)
    {
        //It has been changed - do what you want to
        //in here...
    }

    return _cliHouseNumber;
}

将字段属性dataMethod设置为editcliHouseNumber。

好的,这里是另一个选项


右键单击该字段,并覆盖lostFocus方法。

通常正确的位置是数据源字段中的modified方法或表上的modifiedField。如果要确保输入字段,请使用上的必填属性。不要试图强迫用户停留在未输入的字段上

只有当值发生更改时才会调用这些方法,这通常是您想要的


也请注意这一点。

我认为这不是一个最佳做法。@我在另一个回答中添加了另一个选项我同意你的看法。我认为您希望检查该字段是否已被修改,并将其设置为必填项,而不是每次有人离开该字段时都尝试检查它。这会导致额外的方法调用和性能降低。我按照你说的做了,但这不是我需要的。我不希望字段被修改时发生任何事情。我想在用户离开字段时调用方法。通过重写方法leave,这是可能的。实际上,字段可能是数据绑定的,但问题中没有提到这一点。此答案仅在字段为数据绑定时有效。这是正确答案。。。如果你投了反对票,请解释原因?