Auswahl auf Lookup, um display-name in der Benutzeroberfläche und wählen Sie RecId ax 2012
Ich habe ungebundenes Feld in einem Formular. Jetzt zeige ich einen look-up auf, das Feld mit einer look-up-Methode, die zeigt Alle unterschiedlichen Werte aus einem Feld in einer Tabelle. Nun wechselte ich das Feld name in der Tabelle zu Recid Feld. Nun muss ich das display schauen-up mit dem Namen, aber wenn ich wählen Sie einen Wert, den ich zeigen möchte, name auf U ich, aber ich habe zu wählen Recid. Ich will nicht recid anzeigen in look-up. Wie kann ich das erreichen?
Bevor ich verwendet, um nachschlagen von Namen verwenden Sie diese Methode, wie diese
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();
}
InformationsquelleAutor Raas | 2015-04-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie
.addSelectionField(...)
, und wahrscheinlich zu löschen dersuper()
Linie.Finden Sie unter diesen links einige Beispiele:
https://daxbeginners.wordpress.com/tag/lookup-table/
http://dynamicsuser.net/forums/p/56634/303103.aspx
Ah, ich vergaß, auch können Sie die return-Feld im optionalen zweiten argument:
sysTableLookup.addLookupfield(fieldnum(RTTable, AsstManager), TRUE);
Siehe zweites argument an https://msdn.microsoft.com/en-us/library/systablelookup.addlookupfield.aspx
Dies ist ein standard-feature des AX 2012. Ihre RecId verwendet werden, wie ein Ersatzschlüssel, und das Feld, das Sie anzeigen möchten, wie den Ersatz-key. Da es ein ungebundenes Feld verwenden, müssen Sie den link auf der EDT. So erstellen Sie eine neue Int64 EDT extanding RefRecId und legen Sie bitte Ihren Tisch.
Können Sie erklären, wenig deutlich. Ich bin verwirrt. Recid verwendet werden muß, um einen Ersatzschlüssel bedeutet? (Muss ich zu geben ASstMgrRecid Feld in der Tabelle als PrimaryIndex für die Tabelle?) Der Bereich ASSTmgrName, die ich anzeigen möchten, die verwendet werden, sollten Ersatz-Schlüssel? Ich brauche erstellen EDT und verwenden Sie es für das ungebundene Feld?
Finden Sie das für Ersatzschlüssel: msdn.microsoft.com/en-us/library/hh812105.aspx Und hier: community.dynamics.com/ax/b/axrajdipdas/archive/2013/04/16/...
Haben Sie entfernen die
super()
Zeile von deinem code?InformationsquelleAutor Alex Kwitny
Können Sie es tun, indem Sie eine benutzerdefinierte lookup-form und mit der CloseSelect () - Methode auf das Formular. Dort können Sie den code, um Ihr recId
InformationsquelleAutor Kenny Saelen