Axapta 选择查找以在UI上显示名称,然后选择RecId ax 2012

Axapta 选择查找以在UI上显示名称,然后选择RecId ax 2012,axapta,lookup,microsoft-dynamics,dynamics-ax-2012,dynamics-ax-2012-r3,Axapta,Lookup,Microsoft Dynamics,Dynamics Ax 2012,Dynamics Ax 2012 R3,我有一个表单上的未绑定字段。现在,我正在使用一种查找方法显示该字段的查找,该方法显示表中某个字段的所有不同值。现在我将表中的name字段更改为Recid字段。现在我需要用名称显示查找,但当我选择一个值时,我想在U上显示名称,但我必须选择Recid。我不希望recid在查找中显示。我怎样才能做到这一点 以前,我使用这种方法查找名称 公共无效查找() { }您需要.addSelectionField(…),并且最有可能删除super()行 有关一些示例,请参见以下链接: 啊,我忘了您还可以在可选

我有一个表单上的未绑定字段。现在,我正在使用一种查找方法显示该字段的查找,该方法显示表中某个字段的所有不同值。现在我将表中的name字段更改为Recid字段。现在我需要用名称显示查找,但当我选择一个值时,我想在U上显示名称,但我必须选择Recid。我不希望recid在查找中显示。我怎样才能做到这一点

以前,我使用这种方法查找名称

公共无效查找() {


}

您需要
.addSelectionField(…)
,并且最有可能删除
super()

有关一些示例,请参见以下链接:

啊,我忘了您还可以在可选的第二个参数中指定返回字段:
sysTableLookup.addLookupfield(fieldnum(RTTable,AsstManager),TRUE)


请参见

中的第二个参数。您可以通过自定义查找表单并在表单上使用CloseSelect()方法来完成此操作。在那里,您可以输入返回recId的代码。addSelectionfield()不起作用。我尝试使用AsstMgrID的addSelectionfield,但即使其UI和后端仅使用AsstMgr名称。我需要在UI上使用名称和后端ID。这是AX 2012的标准功能。您的RecId必须用作代理密钥,并且要显示为替换密钥的字段。由于它是一个未绑定字段,因此必须在EDT上设置链接。因此,创建一个新的Int64 EDT extanding RefRecId,并将其设置为引用您的表。您能否解释清楚一点。我很困惑。Recid必须用作代理密钥意味着什么?(是否需要将表中的ASstMgrRecid字段作为该表的PrimaryIndex?)我要显示的字段ASSTmgrName应在替换键中使用?我需要创建EDT并将其用于未绑定字段?代理键见此:嗨,我使用了表单查找并实现了这一点。
SysTableLookup       sysTableLookup =   SysTableLookup::newParameters(tablenum(RTTable), this);
Query                query = new Query();
QueryBuildDataSource queryBuildDataSource;
;

sysTableLookup.addLookupfield(fieldnum(RTTable, AsstManager));
queryBuildDataSource = query.addDataSource(tablenum(RTTable));
queryBuildDataSource.addSortField(fieldnum(RTTable, AsstManager));
queryBuildDataSource.addRange(fieldNum(RTTable, AsstManager)).value(queryNotValue(''));
queryBuildDataSource.orderMode(ordermode::GroupBy);
sysTableLookup.parmQuery(query);
sysTableLookup.performFormLookup();

super();