0

当 AX 生成表单和网格时,所有查找都正确填充,但查找项的 ID 显示在表单中。查看有意义的值的唯一方法是单击该字段——这并不理想。有没有办法在表单中显示查找值而不是后面的 id 号?

我希望“tableB”表单显示 tableA_value 而不是 tableA_id。

表A

  • tableA_id (int - 唯一)
  • tableA_value(字符串 - 非唯一)

表B

  • tableB_id (int - 唯一)
  • tableA_id (int - 与 tableA 的关系)
  • tableB_datafields (杂项)

谢谢

4

1 回答 1

1

找不到更改查找本身值的方法,因此我在其旁边放置了一个静态字段,该字段会在查找更改时更新。这是我最终这样做的方式:

表A上的显示方法:

display [datatype] lookupName(tableA _tableA)
{
    ;
    return tableB::find(_tableA.[tableA id column]).[tableB string column];
}

在表 B 上查找方法:

static tableB find([datatype] [lookup variable], boolean _forUpdate = false,
 ConcurrencyModel _concurrencyModel = ConcurrencyModel::Auto)
{
[TableB] [tableB];

if ([lookup variable])
{
    if (_forUpdate)
    {
        tableB.selectForUpdate(_forUpdate);
        if (_concurrencyModel != ConcurrencyModel::Auto)
        {
            tableB.concurrencyModel(_concurrencyModel);
        }
    }

    select firstonly tableB
        where tableB.[lookup column] == [lookup variable];
}
return tableB;

}

添加了表 A 和 B 作为表单的数据源。

在表单中添加了一个字符串字段。

将表 A 设置为字段的 DataSource,并将 lookupName 设置为 DataMethod。

向查找字段添加了一个修改方法以导致静态字段更新:

element.redraw();

希望这可以帮助某人。

于 2009-11-14T14:54:05.190 回答