- 如果文本控件不和数据表字段关联,则可以采用下面方式
在文本框控件的”textChange”方法中将输入的字符串过滤一下
this.text(strkeep(this.valueStr(),"0123456789"));
这样用户在输入非数字时,就自动被过滤掉了,从而无法输入非数字字符。
- 如果文本控件和数据表字段关联,则上述方法不再奏效,需要额外增加一些代码处理
在数据表中增加edit方法
public edit TableFieldType editTableField(boolean _set,TableFieldType _tableField)
{
TableField m_tableField = _tableField;
;
if(_set && _tableField)
{
this.tableField = strkeep(m_tableField,"0123456789");
}
else
m_tableField = this.tableField;
return m_tableField;
}
把edit方法作为字段添加到窗体中,该控件允许用户输入非数字字符,但当用户保存该条记录时,非数字字符将被自动过滤。
转载请注明:ww12345678 的部落格 | AX Helper » Microsoft Dynamics AX 如何使文本框只接受数字输入