使用display方法更新字段

时间:2014-12-17 14:23:42

标签: axapta x++

我有一个包含2个字段的表单,第1个用查找填充,第2个(不可编辑,只是第1个描述)在表单中填充了“display”方法。

public display Name displaySalesChannelName()
{
    return SalesChannelTable::find(SalesChannelFilter.valueStr()).Description;
}

似乎工作正常,但只显示单击该字段时的值。

如何同步这两个字段?

2 个答案:

答案 0 :(得分:1)

您应该尝试将显示方法放在表级别,表单中的字段属性必须将数据源表名称作为数据源,并将方法的名称作为数据方法

答案 1 :(得分:1)

您可以覆盖第一个控件的方法modified(使用查找)并从那里调用第二个控件的方法update,例如如果第二个控件的名称是SalesChannelName并且其AutoDeclaration属性已设置为,则:

public boolean modified()
{
    boolean ret = super();

    SalesChannelName.update();

    return ret;
}

但是在这里使用显示方法没有多大意义。您也可以清除第二个控件的DataMethod属性,上面的modified方法可以重写如下:

public boolean modified()
{
    boolean ret = super();

    SalesChannelName.text(SalesChannelTable::find(this.valueStr()).Description);

    return ret;
}