选择查找以在UI上显示名称并选择RecId ax 2012

时间:2015-04-26 19:12:24

标签: axapta lookup microsoft-dynamics dynamics-ax-2012 dynamics-ax-2012-r3

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

在我以前使用此方法查找名称之前

public void lookup() {

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();

}

2 个答案:

答案 0 :(得分:2)

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

请参阅以下链接以获取一些示例:

https://daxbeginners.wordpress.com/tag/lookup-table/

http://dynamicsuser.net/forums/p/56634/303103.aspx

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

请参阅https://msdn.microsoft.com/en-us/library/systablelookup.addlookupfield.aspx

中的第二个参数

答案 1 :(得分:0)

您可以通过自定义查找表单并在表单上使用CloseSelect()方法来完成此操作。在那里你可以输入代码来返回你的recId