Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel werden Aspekte von Power Fx behandelt, die für die Steuerung spezifisch sind. Viele andere Funktionen, die heute in Canvas-Apps verwendet werden, können ebenfalls verwendet werden. Beachten Sie, dass es Unterschiede gibt, da die Befehle für modellgesteuerte Apps gelten.
- Alle vorhandenen Dataflow-Funktionen werden unterstützt. Was sind Datenflüsse?
- Imperative Funktionen, die mit Daten arbeiten, werden unterstützt.
- Imperative Funktionen für simples
ConfirmundNotifywerden unterstützt. - Für eine Liste der nicht unterstützten Funktionen wechseln Sie zu "Funktionen" nicht unterstützt.
Hinweis
Das Veröffentlichen von Power Fx-Befehlen kann einige Minuten dauern. Es ist möglicherweise nicht offensichtlich, dass Hintergrundvorgänge auch nach Abschluss des Veröffentlichungsvorgangs noch ausgeführt werden. Möglicherweise müssen Sie einige Minuten nach der Veröffentlichung warten und dann die App aktualisieren, um die Änderungen anzuzeigen. Dieser Vorgang dauert in der Regel länger beim ersten Mal, wenn ein Power Fx-basierter Befehl für eine App veröffentlicht wird.
OnSelect
Definiert die Logik, die ausgeführt wird, wenn die Schaltfläche in der App ausgewählt wird.
Sichtbar
Definiert logik zum Ausblenden oder Anzeigen der Schaltfläche beim Ausführen der App.
Um die Sichtbarkeitslogik zu definieren, wählen Sie den Befehl aus. Wählen Sie dann im rechten Befehlseigenschaftenbereich die Option "Sichtbarkeit " aus, und wählen Sie " Auf Bedingung anzeigen" aus der Formel aus. Sie können auf der linken Seite der Bearbeitungsleiste "Sichtbar" auswählen und dann mithilfe der Bearbeitungsleiste einen Power Fx-Ausdruck schreiben.
Ausgewählte Eigenschaft
| Feld | Typ | Description |
|---|---|---|
| Artikel | Eintrag aus DataSource | Einer der Datensätze, die aus der Datenquelle ausgewählt sind. |
| AllItems | Datensatzverzeichnis aus der DataSource | Alle Datensätze, die aus der Datenquelle ausgewählt sind. |
| Staat | Enumeration | Status des ausgewählten Steuerelements. Bearbeiten (=0), Neu (=1), Ansicht (=2) |
| Nicht erlöst | Boolean | Gibt "true" zurück, wenn "Selected" oder "SelectedItems" nicht gespeicherte Änderungen aufweisen. Andernfalls wird "false" zurückgegeben. Gibt immer "false" zurück, wenn "AutoSpeichern" in der Befehlskomponentenbibliothek auf "true" (Standardoption) festgelegt ist. |
- Die Selected-Eigenschaft wird vom Host des Befehls bereitgestellt.
- Element und AllItems-Namen sind mit dem ComboBox-Steuerelement und dem Galerie-Steuerelement gewissermaßen konsistent, dies stellt jedoch ein neues Muster dar.
- Wenn kein Datensatz ausgewählt ist, gibt Element "Leer" zurück (IsBlank gibt "true" zurück) und "AllItems " gibt eine leere Tabelle zurück (IsEmpty gibt "true" zurück).
- Null DataSource für Datensatzverweise (polymorphe Datensatztypen). Es können generische Funktionen aufgerufen werden, zum Beispiel können „Save“ oder „IsType/AsType“ verwendet werden.
- Element ist immer leer, wenn SelectionMax<> 1. Dadurch wird verhindert, dass Formeln nur für ein Element geschrieben werden und sich nicht auf mehrere Elemente skalieren lassen.
Automatisches Speichern
- Viele JavaScript-Befehle beginnen mit dem Speichern des Formularpuffers. Dies liegt daran, dass der Rest des Codes einfacher zu handhaben ist.
- Standardmäßig wird der Formularpuffer im Auftrag des App-Makers gespeichert.
- Das Formular wird gespeichert, bevor der Befehl initiiert wird.
- Alle Probleme, die während des Speichervorgangs auftreten, werden in der Benutzeroberfläche des Formulars behandelt.
Patch-Funktion
Patchen (Aktualisieren) des aktuellen ausgewählten Datensatzes
Patch(Accounts, Self.Selected.Item, {'Account Name': "Changed Account name"})
Erstellen eines verknüpften Datensatzes
Hinweis
Wenn sich die verknüpfte Tabelle noch nicht in der Befehlskomponentenbibliothek befindet, müssen Sie sie im Canvas Studio öffnen und dort die Datenquelle hinzufügen.
Patch(Tasks,Defaults(Tasks),{Regarding:Self.Selected.Item},{Subject:"Subject of the Task"})
Überprüfen und Bearbeiten einer Datumseigenschaft
If(Self.Selected.Item.'Last Date Included in Campaign'>DateAdd(Now(),-3), Patch(Accounts,Self.Selected.Item,{'Last Date Included in Campaign':Date(2021,10,19)}))
Sichtbare Eigenschaft: Zeige den Befehl nur an, wenn ein oder mehrere Datensätze in einer Rasteransicht ausgewählt sind.
CountRows(Self.Selected.AllItems) > 0
Steuerung der Sichtbarkeit basierend auf Daten aus Datensätzen
//Button will be visible for accounts with Account Rating > 20
Self.Selected.Item.'Account Rating'>20
Navigieren
Hinweis
Weitere Optionen finden Sie in der Client-API-Referenz zur Verwendung von JavaScript. Weitere Informationen: navigateTo (Client-API-Referenz)
Navigieren zu einer benutzerdefinierten Seite
Um zu einer benutzerdefinierten Canvasseite innerhalb einer modellgesteuerten App zu navigieren, übergeben Sie den Seitennamen als erstes Argument.
Navigate( myCustomPage )
Navigieren zur Standardansicht der Tabelle
Um zur Standardansicht der Tabelle zu navigieren, übergeben Sie den Tabellennamen als erstes Argument.
Navigate( Accounts )
Navigieren zu einer bestimmten Systemansicht der Tabelle
Um zu einer bestimmten Systemansicht der Tabelle zu navigieren, übergeben Sie das Enum der Tabelle Views.
Navigate( 'Accounts (Views)'.'My Active Accounts' )
Navigieren zum Standardformular der Tabelle
Um zum Standardformular der Tabelle zu navigieren, übergeben Sie den Datensatz als erstes Argument.
Navigate( Gallery1.Selected )
Navigieren zum Standardformular der Tabelle im Erstellungsmodus
Um zum Standardformular der Tabelle zu navigieren, übergeben Sie einen Dataverse-Datensatz, der aus der Defaults-Funktion erstellt wurde. Dadurch wird das Standardformular geöffnet und der Datensatz als neuer Eintrag hinzugefügt. Die Defaults-Funktion verwendet den Tabellennamen, um den Datensatz zu erstellen.
Navigate( Defaults( Accounts ) )
Optimieren der Benutzererfahrung mit Datenquellen- und Datensatzinformationen
Verwenden Sie die DataSourceInfo-Funktion und die RecordInfo-Funktion, um die Benutzererfahrung mit Informationen zu den angezeigten und bearbeiteten Daten zu optimieren.
Verwenden Sie z. B. RecordInfo , um zu ermitteln, ob der aktuelle Benutzer über die Berechtigung zum Ändern eines Datensatzes verfügt und eine Schaltfläche "Bearbeiten" mithilfe der sichtbaren Eigenschaft entsprechend ein- oder ausblenden kann:
EditButton.Visible =
RecordInfo( Gallery1.Selected, RecordInfo.EditPermission )
Verwenden Sie z. B . DataSourceInfo , um zu ermitteln, ob der aktuelle Benutzer über die Berechtigung zum Erstellen eines Datensatzes verfügt und eine Schaltfläche "Erstellen" mithilfe seiner Visible-Eigenschaft entsprechend ein- oder ausblenden kann:
CreateButton.Visible =
DataSourceInfo( Accounts, DataSourceInfo.CreatePermission )
Anfordern einer Bestätigung, bevor Sie Maßnahmen ergreifen
Verwenden Sie die Funktion "Bestätigen", um ein Dialogfeld auf dem aktuellen Bildschirm anzuzeigen.
Notify( Confirm( "Are you sure?",
{ ConfirmButton: "Yes", CancelButton: "No" }
)
)
Zeigt eine Benachrichtigung true an, wenn die Schaltfläche "Ja " gedrückt wird, und eine Benachrichtigung falsch , wenn die Schaltfläche "Nein " gedrückt wird.
Benachrichtigen des Benutzers
App-Benutzern kann eine Benachrichtigung angezeigt werden, indem sie die Benachrichtigungsfunktion aufruft.
Hinweis
NotificationType.Success wird derzeit nicht unterstützt und löst eine Informationsbenachrichtigung aus.
Notify( "Model-driven app notification message" )
Weitere Beispiele
Starten einer URL
Launch("https://www.bing.com");
Access 1:N-Eigenschaft
Self.Selected.Item.'Recurring Appointments'
Überprüfen der Eigenschaft eines verknüpften Datensatzes
Self.Selected.Item.'Parent Account'.'Account Name'="parent"
Mit Befehlen verfügbare Funktionen
Informationen zu den Formeln, die mit Befehlen in modellgesteuerten Apps unterstützt werden, finden Sie unter Formelreferenz – modellgesteuerte Apps.
Funktionen werden nicht unterstützt
Die folgenden Power Fx-Funktionen werden derzeit bei der Steuerung in modellgesteuerten Apps nicht unterstützt .
- Zurück()
- Clear()
- Collect()
- Copy()
- Deaktivieren()
- Enable()
- Exit()
- InvokeControl()
- Sprache()
- LoadData()
- Param()
- Print()
- ReadNFC()
- RequestHide()
- ResetForm()
- Revert()
- SaveData()
- ScanBarcode()
- Set()
- UpdateContext()
- User()
- ViewForm()
Enums werden nicht unterstützt
- Align
- AlignInContainer
- BarcodeType
- BorderStyle
- Farbe
- Richtung
- DisplayMode
- Schriftgröße
- Schriftstärke
- FormPattern
- Rasterstil
- ImagePosition
- Bildrotation
- LabelPosition
- Gestaltung
- LayoutAlignItems
- LayoutDirection
- LayoutJustifyContent
- LayoutMode
- LayoutOverflow
- ListItemTemplate
- Kartenstil
- Overflow
- PDFPasswordState
- PenMode
- RemoveFlags
- ScreenTransition
- TeamsTheme
- TextFormat
- Textmodus
- TextPosition
- Designs
- Übergang
- VerticalAlign
- Modus der virtuellen Tastatur
- Zoomen
Andere nicht unterstützte Bereiche
- Beschleunigung
- Anwendung
- Compass
- Connection
- Dataverse-Dateitypspalten
- Umwelt
- Host
- Gestaltung
- Standort
- ScreenSize