Um einen Lookup eines Feldes zu übersteuern oder einen Lookup für ein Feld zu erstellen, welches standardmässig keinen Lookup anbietet, kann man die lookup()-Methode des FormControls überschreiben. So weit nichts wirklich neues.
Das folgende Snippet zeigt, wie man in einer solchen lookup()-Methode statt fixen Feldlisten vorhandene Feldgruppen verwenden kann. Dies hat den Vorteil, daß sich auch dieser lookup() dynamisch mitändert, wenn jemand die jeweilige Feldgruppe modifiziert.
Display-Methoden werden im folgenden nicht berücksichtigt, da nicht sichergestellt werden kann, daß alle für die Display-Methoden notwendigen Felder Teil der Feldgruppe sind (siehe dazu auch dieser Blog-Beitrag).
public void lookup()
{
SysTableLookup sysTableLookup;
Query query;
QueryBuildDataSource qbds;
SysDictTable sysDictTable = new sysDictTable(tableNum(CustTable));
SysDictFieldGroup sysDictFieldGroup;
Counter f;
query = new query();
qbds = query.addDataSource(tableNum(CustTable));
sysTableLookup = sysTableLookup::newParameters(tableNum(CustTable), this);
sysTableLookup.parmQuery(query);
sysDictFieldGroup = new SysDictFieldGroup(tableNum(CustTable), identifierStr(CaseMoreInformation));
for (f=1;f<=sysDictFieldGroup.numberOfFields();f++)
{
if( !sysDictFieldGroup.methodName(sysDictFieldGroup.field(f))) // no display methods
{
sysTableLookup.addLookupfield(sysDictFieldGroup.field(f), (sysDictTable.primaryKeyField() == sysDictFieldGroup.field(f)));
}
}
sysTableLookup.performFormLookup();
}
Dieser Beitrag bezieht sich auf die Version: Dynamics AX 2012
Diese Webseite verwendet Cookies, um Benutzern einen besseren Service anzubieten. Wenn Sie weiterhin auf der Seite bleiben, stimmen Sie der Verwendung von Cookies zu.
Mehr dazu
Um einen Lookup eines Feldes zu übersteuern oder einen Lookup für ein Feld zu erstellen, welches standardmässig keinen Lookup anbietet, kann man die lookup()-Methode des FormControls überschreiben. So weit nichts wirklich neues.
Das folgende Snippet zeigt, wie man in einer solchen lookup()-Methode statt fixen Feldlisten vorhandene Feldgruppen verwenden kann. Dies hat den Vorteil, daß sich auch dieser lookup() dynamisch mitändert, wenn jemand die jeweilige Feldgruppe modifiziert.
Display-Methoden werden im folgenden nicht berücksichtigt, da nicht sichergestellt werden kann, daß alle für die Display-Methoden notwendigen Felder Teil der Feldgruppe sind (siehe dazu auch dieser Blog-Beitrag).