Freigeben über


Grundlegendes zu Canvas-App-Formularen

Fügen Sie einer Canvas-App drei Arten von Steuerelementen hinzu, damit der Benutzer nach einem Datensatz suchen, Details zu diesem Datensatz anzeigen und einen Datensatz bearbeiten oder erstellen kann:

Activity Steuerung Description
Suchen nach einem Datensatz Gallery-Steuerelement Filtern, Sortieren, Suchen und durch Datensätze in einer Datenquelle scrollen und einen bestimmten Datensatz auswählen. Zeigen Sie nur wenige Felder aus jedem Datensatz an, um mehrere Datensätze gleichzeitig anzuzeigen, auch auf einem kleinen Bildschirm.
Anzeigen von Details eines Datensatzes Display form-Steuerelement Zeigen Sie für einen einzelnen Datensatz viele oder alle Felder in diesem Datensatz an.
Bearbeiten oder Erstellen eines Datensatzes Edit form-Steuerelement Aktualisieren Sie ein oder mehrere Felder in einem einzelnen Datensatz (oder erstellen Sie einen Datensatz ab Standardwerten), und speichern Sie diese Änderungen wieder in der zugrunde liegenden Datenquelle.

Platzieren Sie jedes Steuerelement auf einem anderen Bildschirm, damit sie leichter zu unterscheiden sind:

Durchsuchen, Anzeigen und Bearbeiten von Datensätzen auf drei Bildschirmen.

Kombinieren Sie diese Steuerelemente wie in diesem Thema beschrieben mit Formeln, um die gesamte Benutzeroberfläche zu erstellen.

Voraussetzungen

Erkunden einer generierten App

Power Apps können automatisch eine App basierend auf einer von Ihnen angegebenen Datenquelle generieren. Jede App enthält drei Bildschirme mit den zuvor beschriebenen Steuerelementen und Formeln, die sie verbinden. Führen Sie diese Apps aus, passen Sie sie für Ihre spezifischen Ziele an, oder überprüfen Sie, wie sie funktionieren, damit Sie nützliche Konzepte erlernen können, die für Ihre eigenen Apps gelten. Überprüfen Sie in den folgenden Abschnitten die Bildschirme, Steuerelemente und Formeln, die eine generierte App steuern.

Bildschirm durchsuchen

Bildschirm durchsuchen.

Dieser Bildschirm enthält die folgenden Schlüsselformeln:

Steuerung Unterstütztes Verhalten Formula
BrowseGallery1 Datensätze aus der Datenquelle "Assets " anzeigen. Die Items-Eigenschaft des Katalogs wird auf eine Formel festgelegt, die auf der Datenquelle "Objekte " basiert.
ImageNewItem1 Zeigen Sie den Bildschirm "Bearbeiten" und "Erstellen " mit jedem Feld an, das auf einen Standardwert festgelegt ist, damit der Benutzer problemlos einen Datensatz erstellen kann. Die OnSelect-Eigenschaft des Bilds wird auf diese Formel festgelegt:
NewForm( EditForm1 );
Navigate( EditScreen1, None )
NextArrow1 (in der Galerie) Zeigen Sie den Bildschirm "Details " an, um viele oder alle Felder des aktuell ausgewählten Datensatzes anzuzeigen. Die OnSelect-Eigenschaft des Pfeils wird auf diese Formel festgelegt:
Navigate( DetailScreen1, None )

Das primäre Steuerelement auf diesem Bildschirm, BrowseGallery1, deckt den größten Teil des Bildschirmbereichs ab. Der Benutzer kann durch den Katalog scrollen, um einen bestimmten Datensatz zu finden, um weitere Felder anzuzeigen oder zu aktualisieren.

Legen Sie die Items-Eigenschaft eines Katalogs fest, um Datensätze aus einer Datenquelle darin anzuzeigen. Legen Sie diese Eigenschaft beispielsweise auf "Assets " fest, um Datensätze aus einer Datenquelle dieses Namens anzuzeigen.

Hinweis

In einer generierten App wird "Items " standardmäßig auf eine wesentlich kompliziertere Formel festgelegt, sodass der Benutzer nach Datensätzen sortieren und suchen kann. Sie erfahren, wie Sie diese Formel später in diesem Thema erstellen. Die einfachere Version reicht jetzt aus.

Anstatt einen Datensatz zum Anzeigen oder Bearbeiten zu finden, kann der Benutzer einen Datensatz erstellen, indem er das Symbol "+" oberhalb des Katalogs auswählt. Erstellen Sie diesen Effekt, indem Sie ein Bildsteuerelement hinzufügen, darin ein "+"-Symbol anzeigen und dessen OnSelect-Eigenschaft auf diese Formel festlegen:
NewForm( EditForm1 ); Navigate( EditScreen1, None )

Mit dieser Formel wird der Bildschirm "Bearbeiten" und "Erstellen " geöffnet, der ein Bearbeitungsformular-Steuerelement namens EditForm1 enthält. Die Formel wechselt dieses Formular auch in den Modus "Neu ", in dem das Formular Standardwerte aus der Datenquelle anzeigt, damit der Benutzer ganz einfach einen Datensatz von Grund auf neu erstellen kann.

Um jedes Steuerelement zu untersuchen, das in BrowseGallery1 angezeigt wird, wählen Sie dieses Steuerelement im ersten Abschnitt dieses Katalogs aus, das als Vorlage für alle anderen Abschnitte dient. Wählen Sie beispielsweise das mittlere Beschriftung-Steuerelement am linken Rand aus:

Bildschirmsteuerelemente durchsuchen.

In diesem Beispiel wird die Text-Eigenschaft des Steuerelements auf ThisItem.AssignedTo festgelegt, bei dem es sich um ein Feld in der Datenquelle "Assets " handelt. Die Text-Eigenschaft der anderen drei Label-Steuerelemente im Katalog ist auf ähnliche Formeln festgelegt, und jedes Steuerelement zeigt in der Datenquelle ein anderes Feld an.

Wählen Sie das Shape-Steuerelement (der Pfeil) aus, und vergewissern Sie sich, dass die OnSelect-Eigenschaft auf diese Formel festgelegt ist:
Navigate( DetailScreen1, None )

Wenn der Benutzer einen Datensatz in BrowseGallery1 findet, kann der Benutzer den Pfeil für diesen Datensatz auswählen, um weitere Informationen darüber in DetailScreen1 anzuzeigen. Durch Auswählen eines Pfeils ändert der Benutzer den Wert der Selected-Eigenschaft von BrowseGallery1. In dieser App bestimmt diese Eigenschaft, welcher Datensatz nicht nur in DetailScreen1 angezeigt wird, sondern auch, wenn der Benutzer entscheidet, den Datensatz zu aktualisieren, den Bildschirm "Bearbeiten" und "Erstellen ".

Detailbildschirm

Steuerelemente des Detailbildschirms.

Dieser Bildschirm enthält die folgenden Schlüsselformeln:

Steuerung Unterstütztes Verhalten Formula
DetailForm1 Zeigt einen Datensatz in der Datenquelle "Assets " an. Legen Sie die DataSource-Eigenschaft auf "Assets" fest.
DetailForm1 Bestimmt, welcher Datensatz angezeigt werden soll. In einer generierten App wird der Datensatz angezeigt, den der Benutzer im Katalog ausgewählt hat. Legen Sie die Item-Eigenschaft dieses Steuerelements auf diesen Wert fest:
BrowseGallery1.Selected
Kartensteuerelemente In einem Steuerelement Formular anzeigen wird ein einzelnes Feld in einem Datensatz angezeigt. Legen Sie die DataField-Eigenschaft auf den Namen eines Felds fest, das in doppelte Anführungszeichen eingeschlossen ist (z. B. "Name").
ImageBackArrow1 Wenn der Benutzer dieses Steuerelement auswählt, wird BrowseScreen1 geöffnet. Legen Sie die OnSelect-Eigenschaft auf diese Formel fest:
Back()
ImageDelete1 Wenn der Benutzer dieses Steuerelement auswählt, wird ein Datensatz gelöscht. Legen Sie die OnSelect-Eigenschaft auf diese Formel fest:
Remove( Assets, BrowseGallery1.Selected )
ImageEdit1 Wenn der Benutzer dieses Steuerelement auswählt, wird der Bildschirm "Bearbeiten und Erstellen " für den aktuellen Datensatz geöffnet. Legen Sie die OnSelect-Eigenschaft auf diese Formel fest:
Navigate( EditScreen1, None )

Oben auf dem Bildschirm befinden sich drei Bilder außerhalb von DetailForm1 und fungieren als Schaltflächen, die zwischen den drei Bildschirmen der App orchestrieren.

DetailForm1 dominiert diesen Bildschirm und zeigt den Datensatz an, den der Benutzer im Katalog ausgewählt hat (da die Item-Eigenschaft des Formulars auf "BrowseGallery1.Selected" festgelegt ist). Die DataSource-Eigenschaft des Formulars stellt auch Metadaten zur Datenquelle bereit, z. B. einen benutzerfreundlichen Anzeigenamen für jedes Feld.

DetailForm1 enthält mehrere Kartensteuerelemente . Sie können entweder das Kartensteuerelement selbst oder das darin enthaltene Steuerelement auswählen, um zusätzliche Informationen zu ermitteln.

Details zu „Karten“ und ausgewählte Karten-Steuerelemente in der Autoren-Benutzeroberfläche

Die DataField-Eigenschaft eines Kartensteuerelements bestimmt, welches Feld auf der Karte angezeigt wird. In diesem Fall wird diese Eigenschaft auf AssetID festgelegt. Die Karte enthält ein Label-Steuerelement, für das die Text-Eigenschaft auf "Parent.Default" festgelegt ist. Dieses Steuerelement zeigt den Standardwert für die Karte an, der über die DataField-Eigenschaft festgelegt wird.

In einer generierten App sind Kartensteuerelemente standardmäßig gesperrt. Wenn eine Karte gesperrt ist, können Sie einige Eigenschaften, z. B. DataField, nicht ändern, und die Bearbeitungsleiste ist für diese Eigenschaften nicht verfügbar. Diese Einschränkung trägt dazu bei, dass Ihre Anpassungen die grundlegenden Funktionen der generierten App nicht unterbrechen. Sie können jedoch einige Eigenschaften einer Karte und deren Steuerelemente im rechten Bereich ändern:

Detailbildschirm mit geöffneter Optionsbereich.

Sie können im rechten Bereich auswählen, welche Felder angezeigt werden sollen und welche Art von Steuerelement jedes Feld anzeigen soll.

Bildschirm bearbeiten/erstellen

Bearbeiten von Bildschirmsteuerelementen.

Dieser Bildschirm enthält die folgenden Schlüsselformeln:

Steuerung Unterstütztes Verhalten Formula
EditForm1 Zeigt einen Datensatz in der Datenquelle "Assets " an. Legen Sie die DataSource-Eigenschaft auf "Assets" fest.
EditForm1 Bestimmt, welcher Datensatz angezeigt werden soll. Zeigt in einer generierten App den Datensatz an, den der Benutzer in BrowseScreen1 ausgewählt hat. Legen Sie die Item-Eigenschaft auf diesen Wert fest:
BrowseGallery1.Selected
Kartensteuerelemente In einem Steuerelement Formular bearbeiten werden Steuerelemente bereitgestellt, damit der Benutzer mindestens ein Feld in einem Datensatz bearbeiten kann. Legen Sie die DataField-Eigenschaft auf den Namen eines Felds fest, das in doppelte Anführungszeichen eingeschlossen ist (z. B. "Name").
ImageCancel1 Wenn der Benutzer dieses Steuerelement auswählt, verwirft er alle Änderungen und öffnet den Bildschirm "Details". Legen Sie die OnSelect-Eigenschaft auf diese Formel fest:
ResetForm( EditForm1 ); Zurück()
ImageAccept1 Wenn der Benutzer dieses Steuerelement auswählt, werden Änderungen an der Datenquelle übermittelt. Legen Sie die OnSelect-Eigenschaft auf diese Formel fest:
SubmitForm( EditForm1 )
EditForm1 Wenn Änderungen akzeptiert werden, kehren Sie zum vorherigen Bildschirm zurück. Legen Sie die OnSuccess-Eigenschaft auf diese Formel fest:
Back()
EditForm1 Wenn Änderungen nicht akzeptiert werden, bleiben Sie auf dem aktuellen Bildschirm, damit der Benutzer alle Probleme beheben kann, und versuchen Sie erneut, die Änderungen zu übermitteln. Lassen Sie die OnFailure-Eigenschaft leer.
LblFormError1 Wenn Änderungen nicht akzeptiert werden, wird eine Fehlermeldung angezeigt. Legen Sie die Text-Eigenschaft auf diesen Wert fest:
EditForm1.Error

Wie im Bildschirm "Details " dominiert ein Formularsteuerelement namens EditForm1 den Bildschirm "Bearbeiten und Erstellen" . Darüber hinaus wird die Item-Eigenschaft von EditForm1 auf "BrowseGallery1.Selected" festgelegt, sodass das Formular den Datensatz anzeigt, den der Benutzer in BrowseScreen1 ausgewählt hat. Während der Bildschirm "Details" jedes Feld schreibgeschützt anzeigt, kann der Benutzer den Wert eines oder mehrerer Felder mithilfe der Steuerelemente in EditForm1 aktualisieren. Außerdem wird die DataSource-Eigenschaft verwendet, um auf Metadaten zu dieser Datenquelle zuzugreifen, z. B. den benutzerfreundlichen Anzeigenamen für jedes Feld und den Speicherort, an dem Änderungen gespeichert werden sollen.

Wenn der Benutzer das Symbol "X" auswählt, um eine Aktualisierung abzubrechen, verwirft die ResetForm-Funktion alle nicht gespeicherten Änderungen, und die Zurück-Funktion öffnet den Bildschirm "Details ". Sowohl der Bildschirm "Details " als auch der Bildschirm " Bearbeiten" und "Erstellen " zeigen denselben Datensatz an, bis der Benutzer auf "BrowseScreen1" einen anderen Eintrag auswählt. Die Felder in diesem Datensatz bleiben auf die Werte festgelegt, die zuletzt gespeichert wurden, keine Änderungen, die der Benutzer vorgenommen und dann abgebrochen hat.

Wenn der Benutzer einen oder mehrere Werte im Formular ändert und dann das Häkchensymbol auswählt, sendet die SubmitForm-Funktion die Änderungen des Benutzers an die Datenquelle.

  • Wenn die Änderungen erfolgreich gespeichert werden, wird die OnSuccess-Formel des Formulars ausgeführt, und die Back () -Funktion öffnet den Detailbildschirm, um den aktualisierten Datensatz anzuzeigen.
  • Wenn die Änderungen nicht erfolgreich gespeichert wurden, wird die OnFailure-Formel des Formulars ausgeführt, ändert aber nichts, da sie leer ist. Der Bildschirm "Bearbeiten und Erstellen " bleibt geöffnet, sodass der Benutzer die Änderungen abbrechen oder den Fehler beheben kann. LblFormError1 zeigt eine benutzerfreundliche Fehlermeldung an, auf die die Error-Eigenschaft des Formulars festgelegt ist.

Wie bei einem Anzeigeformular-Steuerelement enthält ein Bearbeitenformular-SteuerelementKarten-Steuerelemente, die weitere Steuerelemente enthalten und unterschiedliche Felder in einem Datensatz anzeigen:

Bearbeiten Sie Karten und Kartensteuerelemente, die in der Autorenumgebung ausgewählt wurden.

In der vorherigen Abbildung zeigt die ausgewählte Karte das Objekt-ID-Feld und enthält ein Texteingabesteuerelement , damit der Benutzer den Wert dieses Felds bearbeiten kann. (Im Gegensatz dazu zeigt der Detailbildschirm dasselbe Feld in einem Etikett Steuerelement, das schreibgeschützt ist). Das Steuerelement Text Eingabe hat eine Eigenschaft Default, die auf Parent.Default gesetzt ist. Wenn der Benutzer einen Datensatz erstellt hat, anstatt einen Datensatz zu bearbeiten, würde dieses Steuerelement einen Anfangswert anzeigen, den der Benutzer für den neuen Datensatz ändern kann.

Im rechten Bereich können Sie jede Karte ein- oder ausblenden, sie neu anordnen oder so konfigurieren, dass Felder in verschiedenen Steuerelementtypen angezeigt werden.

Bildschirm bearbeiten, in dem der Optionsbereich geöffnet ist.

Erstellen einer App von Grund auf neu

Indem Sie verstehen, wie Power Apps eine App generiert, können Sie eine selbst erstellen, die dieselben Bausteine und Formeln verwendet, die weiter oben in diesem Thema erläutert wurden.

Identifizieren von Testdaten

Um das Beste aus diesem Thema zu erhalten, beginnen Sie mit einer Datenquelle, mit der Sie experimentieren können. Es sollte Testdaten enthalten, die Sie ohne Bedenken lesen und aktualisieren können.

Hinweis

Wenn Sie eine Liste verwenden, die mit Microsoft Lists, einer SharePoint-Bibliothek oder einer Excel-Tabelle erstellt wurde, die Spaltennamen mit Leerzeichen als Datenquelle enthält, ersetzt Power Apps die Leerzeichen durch "_x0020_". Beispielsweise wird "Spaltenname" in SharePoint oder Excel als "Column_x0020_Name" in Power Apps angezeigt, wenn sie im Datenlayout angezeigt oder in einer Formel verwendet wird.

Um dem Rest dieses Themas genau zu folgen, erstellen Sie eine Liste mit dem Namen "Ice Cream", die diese Daten enthält:

Eiscremeliste.

  • Erstellen Sie eine App aus leer, für Smartphones, und verbinden Sie sie mit Ihrer Datenquelle.

    Hinweis

    Tablet-Apps sind sehr ähnlich, aber Sie möchten möglicherweise ein anderes Bildschirmlayout , um den zusätzlichen Bildschirmbereich optimal zu nutzen.

    Die Beispiele im restlichen Thema basieren auf einer Datenquelle namens Ice Cream.

Datensätze durchsuchen

Rufen Sie schnelle Informationen aus einem Datensatz ab, indem Sie sie in einem Katalog auf einem Bildschirm zum Durchsuchen suchen.

  1. Fügen Sie eine vertikale Galerie hinzu, und ändern Sie das Layout auf Titel nur.

    Vertikale Galerie hinzufügen.

  2. Setzen Sie die Items-Eigenschaft der Galerie auf Ice Cream.

  3. Legen Sie die Text-Eigenschaft der ersten Beschriftung im Katalog auf ThisItem.Title fest, wenn sie auf etwas anderes festgelegt ist.

    Die Beschriftung zeigt nun den Wert im Feld "Titel " für jeden Datensatz an.

    Aktualisierte Bezeichnung.

  4. Ändern Sie die Größe der Galerie, um den Bildschirm auszufüllen, und legen Sie ihre TemplateSize-Eigenschaft auf 60 fest.

    Der Bildschirm ähnelt diesem Beispiel, in dem alle Datensätze in der Datenquelle angezeigt werden:

    Galerie, die mit der Ice Cream-Datenquelle verbunden ist.

Details anzeigen

Wenn der Katalog die gewünschten Informationen nicht anzeigt, wählen Sie den Pfeil für einen Datensatz aus, um den Detailbildschirm zu öffnen. Ein Formular anzeigen-Steuerelement auf diesem Bildschirm zeigt mehrere, möglicherweise alle Felder für den Datensatz an, den Sie ausgewählt haben.

Das Anzeigeformularsteuerelement nutzt zwei Eigenschaften, um den Datensatz anzuzeigen.

  • DataSource-Eigenschaft. Der Name der Datenquelle, die den Datensatz enthält. Diese Eigenschaft füllt den rechten Bereich mit Feldern auf und bestimmt den Anzeigenamen und Datentyp (Zeichenfolge, Zahl, Datum usw.) jedes Felds.
  • Item-Eigenschaft . Der anzuzeigende Datensatz. Diese Eigenschaft ist häufig mit der Selected-Eigenschaft des Gallery-Steuerelements verbunden, sodass der Benutzer einen Datensatz im Katalog-Steuerelement auswählen und dann einen Drilldown in diesen Datensatz ausführen kann.

Wenn die DataSource-Eigenschaft festgelegt ist, können Sie Felder über den rechten Bereich hinzufügen und entfernen und die Anzeige ändern.

Auf diesem Bildschirm können Benutzer keine Werte des Datensatzes absichtlich oder versehentlich ändern. Das Formular anzeigen-Steuerelement ist ein schreibgeschütztes Steuerelement, das einen Datensatz nicht ändert.

So fügen Sie ein Anzeigeformular-Steuerelement hinzu:

  1. Fügen Sie einen Bildschirm hinzu, und fügen Sie ihm ein Anzeigeformular-Steuerelement hinzu.
  2. Legen Sie die DataSource-Eigenschaft des Formularsteuerelements auf "Ice Cream" fest.

Im rechten Bereich können Sie die Felder auswählen, die auf dem Bildschirm angezeigt werden sollen, und welche Art von Karte für jedes Feld angezeigt werden soll. Während Sie Änderungen im rechten Bereich vornehmen, wird die DataField-Eigenschaft für jedes Kartensteuerelement auf das Feld festgelegt, mit dem der Benutzer interagiert. Ihr Bildschirm sollte diesem Beispiel ähneln:

Neuer Eiscreme-Bildschirm.

Schließlich müssen wir das Anzeigeformular-Steuerelement mit dem Katalog-Steuerelement verbinden, damit wir Details zu einem bestimmten Datensatz anzeigen können. Sobald wir die Eigenschaft "Item" festlegen, wird der erste Datensatz aus der Galerie in unserem Formular angezeigt.

Sehr gut! Widmen wir uns jetzt der Navigation: wie ein Benutzer den Detailbildschirm vom Katalogbildschirm und den Katalogbildschirm vom Bildschirm „Details“ aus öffnet.

Kehren wir nun zum Gallery-Steuerelement zurück und fügen dem Detailbildschirm eine Navigation hinzu.

  1. Wechseln Sie zum ersten Bildschirm, der unser Galerie-Steuerelement hostet, und wählen Sie den Pfeil im ersten Element der Galerie aus.

  2. Legen Sie die OnSelect-Eigenschaft des Shapes auf diese Formel fest:
    Navigate( Screen2, None )

    „Formular anzeigen“ für die Eiscreme-Datenquelle mit der Schaltfläche „Zurück“ mit Navigation aktualisieren

  3. Drücken Sie F5, und wählen Sie dann einen Pfeil im Katalog aus, um die Details für ein Element anzuzeigen.

  4. Wählen Sie die Schaltfläche " Zurück " aus, um zum Katalog der Produkte zurückzukehren, und drücken Sie dann ESC.

Details bearbeiten

Schließlich besteht unsere letzte Kernaktivität im Ändern des Inhalts eines Datensatzes, was Benutzer in einem Bearbeitungsformular durchführen.

Das Formularsteuerelement "Bearbeiten" verwendet zwei Eigenschaften zum Anzeigen und Bearbeiten des Datensatzes:

  • DataSource-Eigenschaft . Der Name der Datenquelle, die den Datensatz enthält. Genau wie beim Anzeigeformular-Steuerelement füllt diese Eigenschaft den rechten Bereich mit Feldern auf und bestimmt den Anzeigenamen und Datentyp (Zeichenfolge, Zahl, Datum usw.) für jedes Feld. Diese Eigenschaft bestimmt auch, ob der Wert jedes Felds gültig ist, bevor er an die zugrunde liegende Datenquelle übermittelt wird.
  • Eigenschaft des Items. Der zu bearbeitende Datensatz, der häufig mit der Selected-Eigenschaft des Gallery-Steuerelements verbunden ist. Auf diese Weise können Sie einen Datensatz im Katalogsteuerelement auswählen, im Detailbildschirm anzeigen und im Bildschirm "Bearbeiten und Erstellen " bearbeiten.

So fügen Sie ein Formular bearbeiten-Steuerelement hinzu:

  1. Fügen Sie einen Bildschirm hinzu, fügen Sie ein Formularsteuerelement zum Bearbeiten hinzu, und legen Sie dann die DataSource-Eigenschaft des Formulars auf "Ice Cream" fest.
  2. Legen Sie die Item-Eigenschaft auf "Gallery1.Selected" fest.

Sie können jetzt die Felder auswählen, die auf dem Bildschirm angezeigt werden sollen. Sie können auch auswählen, welche Art von Karte für jedes Feld angezeigt werden soll. Wenn Sie Änderungen im rechten Bereich vornehmen, wird die DataField-Eigenschaft für jedes Kartensteuerelement auf das Feld festgelegt, mit dem der Benutzer interagiert. Ihr Bildschirm sollte diesem Beispiel ähneln:

Darstellungsformular für Eiscreme-Datenquelle.

Diese beiden Eigenschaften stimmen mit den Eigenschaften auf dem Formular anzeigen-Steuerelement überein. Und mit diesen allein können wir die Details eines Datensatzes anzeigen.

Das Formularsteuerelement bearbeiten geht weiter, indem die SubmitForm-Funktion zum Zurückschreiben von Änderungen an der Datenquelle angeboten wird. Sie verwenden dies mit einer Schaltfläche oder einem Bildsteuerelement, um die Änderungen eines Benutzers zu speichern.

Formular für Eis-Datenquelle bearbeiten.

So fügen Sie Navigation zu und von diesem Bildschirm hinzu:

  1. Fügen Sie ein weiteres Schaltflächen-Steuerelement hinzu, legen Sie dessen Texteigenschaft so fest, dass "Cancel" angezeigt wird, und legen Sie die OnSelect-Eigenschaft auf diese Formel fest:
    ResetForm( Form1 ); Zurück()

    Mit dieser Formel werden alle nicht gespeicherten Bearbeitungen verworfen und der vorherige Bildschirm geöffnet.

    Bildschirm aktualisiert.

  2. Legen Sie die OnSuccess-Eigenschaft des Formulars auf "Zurück()" fest.

    Wenn Aktualisierungen erfolgreich gespeichert wurden, wird der vorherige Bildschirm (in diesem Fall der Detailbildschirm) automatisch geöffnet.

    Formular bearbeiten mit hinzugefügter

  3. Fügen Sie auf dem Bildschirm eine Schaltfläche hinzu, legen Sie die Texteigenschaft so fest, dass "Bearbeiten" angezeigt wird, und legen Sie die OnSelect-Eigenschaft auf diese Formel fest:
    Navigate( Screen3, None )

    Texteigenschaft wurde aktualisiert.

Sie haben eine einfache App mit drei Bildschirmen zum Anzeigen und Eingeben von Daten erstellt. Um es auszuprobieren, zeigen Sie den Katalogbildschirm an, und drücken Sie dann F5 (oder wählen Sie die Schaltfläche "Vorschau" in der oberen linken Ecke des Bildschirms aus). Der rosa Punkt gibt an, wo der Benutzer an jedem Schritt auf den Bildschirm klickt oder tippt.

Probieren Sie die Eis-App aus.

Datensatz erstellen

Der Benutzer interagiert mit demselben Bearbeitungsformular , um Datensätze zu aktualisieren und zu erstellen. Wenn der Benutzer einen Datensatz erstellen möchte, wechselt die NewForm-Funktion das Formular in den neuen Modus.

Wenn sich das Formular im Modus "Neu " befindet, wird der Wert jedes Felds auf die Standardwerte der Datenquelle festgelegt. Der Datensatz für die Item-Eigenschaft des Formulars wird ignoriert.

Wenn der Benutzer bereit ist, den neuen Datensatz zu speichern, wird SubmitForm ausgeführt. Nachdem das Formular erfolgreich gesendet wurde, wird das Formular zurück zu EditMode gewechselt.

Auf dem ersten Bildschirm fügen Sie eine Schaltfläche "Neu " hinzu:

  1. Fügen Sie auf dem Bildschirm mit der Galerie ein Button-Steuerelement hinzu.

  2. Legen Sie die Text-Eigenschaft der Schaltfläche auf "Neu " und die zugehörige OnSelect-Eigenschaft auf diese Formel fest:
    NewForm( Formular1 ); Navigate( Screen3, None )

    Mit dieser Formel wird das Formularsteuerelement "Bearbeiten" auf Bildschirm3 in den Modus "Neu " umgeschaltet und dieser Bildschirm geöffnet, damit der Benutzer es ausfüllen kann.

Formular bearbeiten aktualisiert.

Wenn der Bildschirm "Bearbeiten und Erstellen" geöffnet wird, ist das Formular leer und bereit, dass der Benutzer ein Element hinzufügt. Wenn der Benutzer die Schaltfläche " Speichern " auswählt, stellt die SubmitForm-Funktion sicher, dass ein Datensatz erstellt wird, anstatt aktualisiert zu werden. Wenn der Benutzer die Schaltfläche "Abbrechen " auswählt, wechselt die ResetForm-Funktion zurück zum Bearbeitungsmodus , und die Zurück-Funktion öffnet den Bildschirm zum Durchsuchen des Katalogs.

Datensatz löschen

  1. Fügen Sie auf dem Bildschirm eine Schaltfläche hinzu, und legen Sie dessen Texteigenschaft so fest, dass "Delete." angezeigt wird.

  2. Legen Sie die OnSelect-Eigenschaft der Schaltfläche auf diese Formel fest:
    Remove( 'Ice Cream', Gallery1.Selected ); Zurück()

    Entfernen eines Datensatzes.

Behandeln von Fehlern

In dieser App tritt ein Fehler auf, wenn der Wert eines Felds ungültig ist, ein erforderliches Feld leer ist, Sie vom Netzwerk getrennt sind oder eine beliebige Anzahl anderer Probleme angezeigt werden.

Wenn SubmitForm aus irgendeinem Grund fehlschlägt, enthält die Error-Eigenschaft des Formularsteuerelements "Bearbeiten " eine Fehlermeldung, um den Benutzer anzuzeigen. Mit diesen Informationen sollte der Benutzer in der Lage sein, das Problem zu beheben und die Änderung erneut zu übermitteln, oder er kann die Aktualisierung abbrechen.

  1. Fügen Sie auf dem Bildschirm „Bearbeiten und Erstellen“ ein Beschriftung-Steuerelement hinzu, und platzieren Sie es direkt unter der Schaltfläche Speichern. Jeder Fehler wird leicht zu erkennen sein, nachdem der Benutzer dieses Steuerelement zum Speichern von Änderungen ausgewählt hat.

  2. Legen Sie die Text-Eigenschaft des Label-Steuerelements so fest, dass Form1.Error angezeigt wird.

    Formular mit hinzugefügter Schaltfläche

In einer App, die Power Apps aus Daten generiert, wird die AutoHeight-Eigenschaft für dieses Steuerelement auf "true " festgelegt, sodass kein Speicherplatz verbraucht wird, wenn kein Fehler auftritt. Die Eigenschaften "Height" und "Y" des Formularsteuerelements "Bearbeiten" werden ebenfalls dynamisch angepasst, damit dieses Steuerelement bei Auftreten eines Fehlers wächst. Um weitere Details zu erhalten, generieren Sie eine App aus vorhandenen Daten, und überprüfen Sie diese Eigenschaften. Das Textfeld-Steuerelement für Fehler ist sehr kurz, wenn kein Fehler aufgetreten ist. Möglicherweise müssen Sie die Erweiterte Ansicht (verfügbar auf der Registerkarte "Ansicht ") öffnen, um dieses Steuerelement auszuwählen.

App aus dem Datenbearbeitungsformular mit ausgewähltem Fehlertext-Steuerelement

App aus Datenbearbeitungsformular mit ausgewähltem Formularsteuerelement.

Aktualisieren von Daten

Die Datenquelle wird aktualisiert, wenn der Benutzer die App öffnet, aber der Benutzer möchte die Datensätze im Katalog möglicherweise aktualisieren, ohne die App zu schließen. Fügen Sie eine Schaltfläche " Aktualisieren " hinzu, damit der Benutzer sie auswählen kann, um die Daten manuell zu aktualisieren:

  1. Fügen Sie auf dem Bildschirm mit dem Galerie-Steuerelement eine Schaltfläche hinzu, und legen Sie deren Texteigenschaft so fest, dass „Aktualisieren“ angezeigt wird.

  2. Legen Sie die OnSelect-Eigenschaft dieses Steuerelements auf diese Formel fest:
    Refresh( 'Ice Cream' )

    Aktualisieren Sie die Datenquelle.

Bisher wurde noch nicht über zwei Steuerelemente oben im Bildschirm zum Durchsuchen der App gesprochen, die Power Apps aus Daten erstellt. Mithilfe dieser Steuerelemente kann der Benutzer nach einem oder mehreren Datensätzen suchen, die Liste der Datensätze in aufsteigender oder absteigender Reihenfolge sortieren.

Sortier- und Suchsteuerelemente auf dem Suchbildschirm.

Wenn der Benutzer die Sortierschaltfläche auswählt, wird die Sortierreihenfolge des Katalogs umgekehrt. Zum Erstellen dieses Verhaltens verwenden wir eine Kontextvariable , um die Richtung nachzuverfolgen, in der der Katalog sortiert ist. Wenn der Benutzer die Schaltfläche auswählt, wird die Variable aktualisiert, und die Richtung wird umgekehrt. Die OnSelect-Eigenschaft der Sortierschaltfläche wird auf diese Formel festgelegt: UpdateContext( {SortDescending1: ! SortDescending1} )

Die UpdateContext-Funktion erstellt die Kontextvariable SortDescending1 , wenn sie noch nicht vorhanden ist. Die Funktion liest den Wert der Variablen und legt ihn mithilfe des Operators ! auf das logische Gegenteil fest. Wenn der Wert "true" ist, wird er zu "false". Wenn der Wert falsch ist, wird er wahr.

Die Formel für die Items-Eigenschaft des Gallery-Steuerelements verwendet diese Kontextvariable zusammen mit dem Text im TextSearchBox1-Steuerelement :

Sort( 
	If( IsBlank(TextSearchBox1.Text),
		Assets,
        Filter( Assets, TextSearchBox1.Text in Text(ApproverEmail) ) 
	),
	ApproverEmail,
    If(SortDescending1, Descending, Ascending) 
)

Lassen Sie uns dies aufschlüsseln.

  • Auf der Außenseite haben wir die Sortierfunktion , die drei Argumente akzeptiert: eine Tabelle, ein Feld, nach dem sortiert werden soll, und die Richtung, in der sortiert werden soll.

    • Die Sortierrichtung wird von der Kontextvariablen übernommen, die umschaltet, wenn der Benutzer das ImageSortUpDown1-Steuerelement auswählt. Der true/false-Wert wird in die Konstanten "Absteigend " und "Aufsteigend" übersetzt.
    • Das zu sortierende Feld ist auf ApproverEmail festgelegt. Wenn Sie die Felder ändern, die im Katalog angezeigt werden, müssen Sie dieses Argument auch ändern.
  • In der Innenseite haben wir die Filter-Funktion , die eine Tabelle als Argument und einen Ausdruck verwendet, der für jeden Datensatz ausgewertet werden soll.

    • Die Tabelle ist die Rohdatenquelle "Assets ", die den Ausgangspunkt vor dem Filtern oder Sortieren darstellt.
    • Der Ausdruck sucht nach einer Instanz der Zeichenfolge in TextSearchBox1 innerhalb des ApproverEmail-Felds. Wenn Sie die Felder ändern, die in der Galerie angezeigt werden, müssen Sie dieses Argument auch aktualisieren.
    • Wenn TextSearchBox1 leer ist, möchte der Benutzer alle Datensätze anzeigen, und die Filterfunktion wird umgangen.

Dies ist aber ein Beispiel; Sie können ihre eigene Formel für die Items-Eigenschaft erstellen, je nach den Anforderungen Ihrer App, indem Sie "Filter", " Sortieren" und andere Funktionen und Operatoren zusammen verfassen.

Bildschirmentwurf

Bisher haben wir keine anderen Möglichkeiten zum Verteilen von Steuerelementen auf Bildschirmen erörtert. Das liegt daran, dass Sie viele Optionen haben, und die beste Auswahl hängt von den Anforderungen Ihrer spezifischen App ab.

Da Immobilien auf Telefonbildschirmen so begrenzt sind, möchten Sie wahrscheinlich auf verschiedenen Bildschirmen durchsuchen, anzeigen und bearbeiten/erstellen. In diesem Thema öffnen die Funktionen "Navigieren" und " Zurück " jeden Bildschirm.

Auf einem Tablet können Sie auf zwei oder sogar einem Bildschirm durchsuchen, anzeigen und bearbeiten/erstellen. Für letzteres wäre keine Navigations - oder Zurück-Funktion erforderlich.

Wenn der Benutzer auf demselben Bildschirm arbeitet, müssen Sie darauf achten, dass der Benutzer die Auswahl im Katalog nicht ändern kann und möglicherweise Änderungen im Bearbeitungsformularsteuerelement verliert. Um zu verhindern, dass der Benutzer einen anderen Datensatz auswählt, während Änderungen an einem anderen Datensatz noch nicht gespeichert sind, legen Sie die Eigenschaft "Disabled" der Galerie auf diese Formel fest:
EditForm.NichtGespeichert