我修改了表单控件的验证方法。在此控件上,我输入了产品名称。 在验证方法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("");
不起作用。那么如何清除控件呢?控件是我的数据源中的一个字段。
答案 0 :(得分:1)
在验证方法中,您无需清除该字段。当validate
返回false时,系统会为您执行此操作。
而不只是this.text(''))
return false
。
但我怀疑用户输入全名的想法确实很有用。
如果使用NameAlias
作为备用项目编号,则存在更简单的选项。
将InventTable.NameAlias
字段上的AliasFor属性更改为指向ItemId
。
输入 ItemId 并输入NameAlias
时,它会被AX运行时转换为相应的项ID。在项目ID输入并验证的任何地方都会发生这种情况。