Hinzufügen von Logik zu Befehlen mit Power Fx
Modellgesteuerte Apps unterstützen eine Befehlsleiste am oberen Rand von Formularen und Ansichten, in denen Sie benutzerdefinierte Schaltflächen hinzufügen können. Mithilfe von Power Fx können Sie steuern, was passiert, wenn eine Schaltfläche ausgewählt wird, ob die Schaltfläche sichtbar ist und wie sie mit dem ausgewählten Datensatz interagiert.
Was bedeutet Befehlen?
Mithilfe von Befehlen können Entwickler benutzerdefinierte Schaltflächen zur Befehlsleiste einer modellgesteuerten App mithilfe des Befehls-Designers hinzufügen. Anstatt JavaScript zu schreiben, schreiben Sie Power Fx-Ausdrücke – die gleiche Formelsprache, die in Canvas-Apps verwendet wird – um das Verhalten und die Sichtbarkeit der Schaltfläche zu definieren.
Note
Viele Power Fx-Funktionen, die in Canvas-Apps funktionieren, werden auch bei der Steuerung unterstützt. Einige Funktionen werden nicht unterstützt, einschließlich Set(), Collect(), UpdateContext()und andere, die auf der Canvas-spezifischen Zustandsverwaltung basieren.
OnSelect
Die OnSelect Eigenschaft definiert, was ausgeführt wird, wenn ein Benutzer die Schaltfläche auswählt. Sie können hier jede unterstützte Power Fx-Funktion verwenden.
Um beispielsweise den Namen für den aktuell ausgewählten Kontodatensatz zu aktualisieren:
Patch(Accounts, Self.Selected.Item, {'Account Name': "Contoso"})
So navigieren Sie zu einem anderen Bildschirm oder einer anderen Ansicht:
Navigate(Accounts)
So zeigen Sie vor dem Ausführen einer Aktion ein Bestätigungsdialogfeld an:
If(
Confirm("Are you sure?", { ConfirmButton: "Yes", CancelButton: "No" }),
Patch(Accounts, Self.Selected.Item, {Status: "Closed"})
)
Sichtbar
Die Visible Eigenschaft steuert, ob die Schaltfläche in der Befehlsleiste angezeigt wird. Legen Sie dies als einen Power Fx-Ausdruck fest, der true oder false zurückgibt.
Um beispielsweise die Schaltfläche nur anzuzeigen, wenn mindestens ein Datensatz in einem Raster ausgewählt ist:
CountRows(Self.Selected.AllItems) > 0
So zeigen Sie die Schaltfläche nur für Datensätze mit einem bestimmten Feldwert an:
Self.Selected.Item.'Account Rating' > 20
Die ausgewählte Eigenschaft
In den Power Fx-Ausdrücken eines Befehls ermöglicht Ihnen das Objekt Self.Selected den Zugriff auf den Datensatz oder die Datensätze, die derzeit in der App ausgewählt sind.
| Property | Returns | Description |
|---|---|---|
Self.Selected.Item |
Einzelner Datensatz | Der aktuell ausgewählte Datensatz. Leer, wenn nichts ausgewählt ist oder mehrere Datensätze ausgewählt sind. |
Self.Selected.AllItems |
Datensatzverzeichnis | Alle aktuell ausgewählten Datensätze. Leer, wenn nichts ausgewählt ist. |
Self.Selected.State |
Enum | Gibt an, ob sich das Formular im Status "Bearbeiten" (0), "Neu" (1) oder "Ansicht" (2) befindet. |
Benachrichtigen des Benutzers
Verwenden Sie die Notify Funktion, um dem App-Benutzer eine Bannermeldung anzuzeigen, nachdem ein Befehl ausgeführt wird:
Notify("Record updated successfully.")
Als Nächstes setzen Sie Ihre Fähigkeiten in die Praxis, indem Sie eine vollständige modellgesteuerte App in einer praktischen Übung erstellen.