网格中的动态值

时间:2014-09-17 07:04:38

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

如何在数据源上编写显示方法 - 我已经连接了两个表,我希望在修改供应商的控制之后动态更改网格列的值。我的目标是在修改供应商控制之后显示不同的ExternalNumber。

我刚刚写了一些代码,但它不起作用。

display str dispExternalItem()
{
    CustVendExternalItem ex;

    while select ExternalItemId from ex 
        where ex.ItemId == ReqTrans.ItemId
           && ex.CustVendRelation==CustVend.valueStr()
    {
        ExternalItemId.text(ex.ExternalItemId);
    }
    return ex.ExternalItemId;
}

1 个答案:

答案 0 :(得分:3)

对于数据源上的edit方法,AX传递当前缓冲区。您的编辑方法签名应如下所示:

display ExternalItemId dispExternalItem(VendTable _vendTable)
{
    CustVendExternalItem ex;

    select firstOnly ExternalItemId from ex 
        where ex.ItemId == ReqTrans.ItemId
            && ex.CustVendRelation == _vendTable.AccountNum
    ;

    return ex.ExternalItemId;
}

此外,您的显示方法应返回EDT(ExternalItemId)而不是 str 。并绑定到游标值而不是控制字符串属性。