Dynamics ax 2009 如何更改重写方法leave()中的StringEdit值?
我有一个StringEdit并重写了leave方法Dynamics ax 2009 如何更改重写方法leave()中的StringEdit值?,dynamics-ax-2009,x++,axapta,dynamics-ax-2012,Dynamics Ax 2009,X++,Axapta,Dynamics Ax 2012,我有一个StringEdit并重写了leave方法 public boolean leave() { boolean ret; ; info("leaved"); this.text("leaved"); CliHouseNumber.text("leaved"); ret = super(); info("leaved"); return ret; } 问题是2个信息日志被激发,但CliHouseNumber的值没有改变。为什
public boolean leave()
{
boolean ret;
;
info("leaved");
this.text("leaved");
CliHouseNumber.text("leaved");
ret = super();
info("leaved");
return ret;
}
问题是2个信息日志被激发,但CliHouseNumber的值没有改变。为什么值保持不变
信息:
- 该字段链接到数据源和数据字段
在你的代码之前;它可能正在撤消您所做的更改 根据要求,您的正确解决方案:
将编辑框的DataField属性设置为空,并将EDT属性设置为正确的类型。否则,只允许设置出现在数据字段中的值;您尝试设置的任何其他内容都将被拒绝 是否有可能取消StringEdit与数据源和数据字段的链接以更改其值并最终再次链接?我认为如果字段有数据源和数据字段,则不可能更改其值。可能不是;我不知道您使用的系统是否从数据库强制执行编辑框的内容,或者它是否支持通过更改编辑框来动态更新基础数据。如果用户更改了该框中的文本怎么办?它会改变基础数据吗?如果是这样的话,那么问题可能是您错过了一个调用来触发更新数据的通知。。。(我不知道Axapta/Dynamics,所以我只是猜测)。好的,所以我将该字段中的DataField属性设置为空,并将EDT属性设置为我想要的类型。它解决了我遇到的问题。因为在设置数据字段时,我只能选择该数据源的数据字段中可用的值,不允许使用随机值。谢谢你试着帮助我:)所以如果你能把我给出的答案贴出来,我会接受它作为答案:)