如何清除表单控件?

时间:2014-04-30 11:42:05

标签: axapta x++ dynamics-ax-2012

我修改了表单控件的验证方法。在此控件上,我输入了产品名称。 在验证方法I中,检查表中是否存在该产品名称。如果它不存在则抛出错误。

我的问题是在抛出错误后我想清除控制权。这是我的代码:

public boolean validate()
{
    InventTable inventTable;
    boolean ret = super();
    select inventTable
        where inventTable.nameAlias == this.text();    
    if (!inventTable.recid)
    {
        error("error");
        this.text("");
    }
    return ret;
}

this.text("");不起作用。那么如何清除控件呢?控件是我的数据源中的一个字段。

1 个答案:

答案 0 :(得分:1)

在验证方法中,您无需清除该字段。当validate返回false时,系统会为您执行此操作。

而不只是this.text('')) return false

但我怀疑用户输入全名的想法确实很有用。

如果使用NameAlias作为备用项目编号,则存在更简单的选项。 将InventTable.NameAlias字段上的AliasFor属性更改为指向ItemId。 输入 ItemId 并输入NameAlias时,它会被AX运行时转换为相应的项ID。在项目ID输入并验证的任何地方都会发生这种情况。