filter nachschlagen im dialog
Habe ich einen dialog in der Klasse, der dialog-Methode ist wie folgt
static void dialog(Args _args)
{
Dialog dialog;
DialogField dialogFieldCurrentState;
DialogField dialogFieldNewState;
CustInvoiceTable custInvoiceTable;
;
custInvoiceTable = _args.record();
dialog = new Dialog("Change State");
dialogFieldCurrentState = dialog.addField(TypeID(State_LT),"Current State: ");
dialogFieldCurrentState.value(custInvoiceTable.State);
dialogFieldCurrentState.enabled(false);
dialogFieldNewState = dialog.addField(TypeID(State_LT),"New State: ");
if (dialog.run())
{
custInvoiceTable.State = dialogFieldNewState.value();
}
}
in meinem dialog gibt es zwei fileds Current State
und New State
.Nun, wenn ich wählen Sie die New State
die Liste aller
Staaten wird angezeigt(unabhängig von Land), die ich nicht will. Nur die Mitgliedstaaten jeweiligen Land ausgewiesen werden
in der Suche
. Ich brauche, um die Verwendung eines filters, der so etwas wie z.B. while select while select AddressState
so, dass nur die Staaten, die
where addressState.CountryRegionId == custInvoiceTable.CountryRegionId;
im Zusammenhang mit einem Land gezeigt wird.
State_LT hier ist ein string EDT (wo ich in der Beziehung von State_LT) State_LT == AddressState.StateId
IN AdressState es ist eine Methode, lookupStateId(), Wie Sie es nennen, aus einem dialog(code oben)
?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich bin die Antwort auf Ihre Letzte Frage: "IN AdressState ES IST EINE METHODE, lookupStateId(), WIE Sie ES NENNEN, AUS EINEM DIALOG(code oben) ?" - durch die Art, wie das schreiben in GROSSBUCHSTABEN nicht den Menschen helfen, zu verstehen, Ihren Standpunkt besser.
Es ist nicht klar, warum Ihr
dialog
ist eine statische Methode, trotzdem brauchen Sie die folgenden.Lassen Sie uns sagen, dass Ihre ClassDeclaration sieht ungefähr so aus:
Ihre
dialog
ist so etwas wie dieses:Zur Umsetzung einer lookup-wie Sie es wollen, müssen Sie zwei Dinge tun. Öffnen Sie zunächst den dialog mit der rechten Maustaste auf den Neuen Status, klicken Sie auf Setup, und überprüfen Sie die Steuerelement-System-Name. Wenn zum Beispiel ist es Fld2_1, dann müssen Sie erstellen Sie die folgende Methode:
Zweite, ist es notwendig, überschreiben Sie die folgende Methode:
Sollte den trick tun. Ich habe es nicht getan für eine Weile, aber ich glaube nicht, dass ich etwas vergessen hatte.
Beispiel, sucht sich Kunden im dialog:
Beispielsweise eine Kunden-Auswahl-dropdown-Liste im Dialogfeld auswählen,
Im Berichts-Klasse Erklärung-Methode --->
DialogField CustomerDlg;
CustAccount Kunden;
dialog.addGroup("Kunden");
CustomerDlg = - dialog.addField(typeid(CustAccount));
CustomerDlg.Wert(customer);
...
Kunde = CustomerDlg.value();