找不到更改查找本身值的方法,因此我在其旁边放置了一个静态字段,该字段会在查找更改时更新。这是我最终这样做的方式:
表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();
希望这可以帮助某人。