Teilen über


Bearbeiten von Bezugstabellendatensätzen direkt aus dem Hauptformular einer anderen Tabelle

Es gibt mehrere Möglichkeiten, wie Sie mit Bezugstabellendatensätzen in einem Tabellenformular innerhalb Power Apps arbeiten können. So können Sie beispielsweise mit einem Schnellansichtsformular verknüpfte Tabellen im schreibgeschützten Modus einbinden und mithilfe eines Hauptformulars in einem Dialog einen Datensatz erstellen oder bearbeiten.

Eine weitere Möglichkeit, mit Datensätzen von Bezugstabellen zu arbeiten, ist das Hinzufügen eines Steuerelements für eine Formularkomponente zum Hauptformular einer anderen Tabelle. Mit dem Steuerelement für Formularkomponenten können Benutzer Informationen eines Bezugsdatensatzes einer Tabelle direkt vom Formular einer anderen Tabelle aus bearbeiten.

Hier sehen Sie z. B. die Formularkomponente auf einer separaten Registerkarte im Hauptformular für das Konto, mit der der Benutzer einen Kontaktdatensatz bearbeiten kann, ohne das Kontoformular zu verlassen.

Steuerelement der Formularkomponente zu einer separaten Registerkarte hinzugefügt.

Hier sehen Sie beispielsweise die Formularkomponente auf einer vorhandenen Registerkarte im Hauptkontoformular, mit der der Benutzer auch einen Kontaktdatensatz bearbeiten kann, ohne die Registerkarte Zusammenfassung des Kontoformulars zu verlassen.

Zu einer vorhandenen Registerkarte hinzugefügtes Formularkomponenten-Steuerelement.

Hinzufügen der Formularkomponente zu einem Tabellenhauptformular

  1. Wählen Sie im linken Navigationsbereich Komponenten aus. Wenn das Element nicht im Seitenleistenbereich ist, Auswählen …Mehr und Auswählen dann das gewünschte Element.
  2. Erweitern Sie entweder Eingabe oder Anzeige und dann Auswählen Formular. Auswählen: Auf der Konfigurationsseite für das Steuerelement der Formularkomponente die Eigenschaften für das Steuerelement:
    • Auswählen die Nachschlagespalte für das Formular.
    • Auswählen die verwandte Form. Abhängig von der zugehörigen Tabellenkonfiguration für die Spalte:
      • Wenn die Spalte mit einer einzelnen Tabelle verbunden ist (wie etwa die Spalte „Erstellt von“), Auswählen das zu verwendende Verwandte Formular . Fügen Sie ein Formularkomponenten-Steuerelement für eine einzelne verknüpfte Tabelle hinzu
      • Wenn die Spalte mit mehreren Tabellen verbunden ist (polymorph, wie z. B. die Eigentümerspalte), Auswählen + Zugehöriges Formular und dann Auswählen Hinzufügen , um das zugehörige Formular hinzuzufügen. Fahren Sie mit Auswählen + Zugehöriges Formular>Hinzufügen fort, um für jede zugehörige Tabelle ein zugehöriges Formular hinzuzufügen. Formularkomponente für mehrere verknüpfte Tabellen hinzufügen
    • Standardmäßig ist die Anzeige des Formulars für alle Client-App-Typen Web, Telefon und Tablet aktiviert. Deaktivieren Sie die Clienttypen, bei denen das Formular nicht angezeigt werden soll.
  3. Wählen Sie Fertig aus.
  4. Speichern und dann veröffentlichen Sie das Formular.

Fügen Sie die Formularkomponente mit der klassischen Erfahrung hinzu

In diesem Beispiel wird das Standardhauptformular Kontakt für das Formularkomponenten-Steuerelement konfiguriert, das dem Konto-Hauptformular hinzugefügt wird.

Wichtig

Die Art und Weise, wie Sie ein Formularkomponenten-Steuerelement hinzufügen, hat sich geändert. Wir empfehlen Ihnen, die neuesten Erfahrungen zu nutzen. Weitere Informationen: Fügen Sie die Formularkomponente zu einem Tabellenhauptformular hinzu

  1. Melden Sie sich bei Power Apps an.

  2. Auswählen Tabellen im linken Bereich. Alternativ können Sie eine Lösung öffnen und dann eine Tabelle Auswählen, etwa Konto. Wenn das Element nicht im Seitenleistenbereich ist, Auswählen …Mehr und Auswählen dann das gewünschte Element.

  3. Auswählen Formulare aus dem Komponentenmenü.

  4. Auswählen ein Formular mit dem Formulartyp Main aus den verfügbaren Formularen.

  5. Wählen Sie In klassischen Modus wechseln aus. Die klassische Formular-Editor-Benutzeroberfläche öffnet sich als neue Registerkarte in Ihrem Browser.

  6. Auswählen die Registerkarte Einfügen . Erstellen Sie dann eine neue Registerkarte und fügen Sie einen neuen Abschnitt hinzu oder fügen Sie einer vorhandenen Registerkarte einen neuen Abschnitt hinzu.

  7. Fügen Sie im neuen Abschnitt eine Nachschlagespalte hinzu, beispielsweise die Nachschlagespalte Primärer Kontakt .

  8. Auswählen die Nachschlagespalte und dann auf der Registerkarte Home Auswählen Eigenschaften ändern.

  9. Klicken Sie auf der Registerkarte Steuerelemente auf Auswählen Steuerelement hinzufügen, in der Liste der Steuerelementtypen auf Auswählen Formularkomponenten-Steuerelement und dann auf Auswählen Hinzufügen.

    Auswählen das Formularkomponenten-Steuerelement.

  10. Auswählen Web, Tablet und Telefon für die Komponente.

  11. Auswählen Bearbeiten (Bleistiftsymbol) und im Dialogfeld Eigenschaft konfigurieren Auswählen An einen statischen Wert binden und fügen Sie dann einen XML-Eintrag ähnlich diesem hinzu, wobei TableName der eindeutige Name der Tabelle und FormID die Formular-ID für das Hauptformular ist:<QuickForms><QuickFormIds><QuickFormId entityname="TableName">FormID</QuickFormId></QuickFormIds></QuickForms>

    • Um beispielsweise das Hauptformular Kontakt im Kontoformular darzustellen, verwenden Sie: <QuickForms><QuickFormIds><QuickFormId entityname="contact">1fed44d1-ae68-4a41-bd2b-f13acac4acfa</QuickFormId></QuickFormIds></QuickForms>

    Konfigurieren Sie die Formularkomponentensteuerung.

  12. Auswählen OK und dann noch einmal Auswählen OK .

  13. Speichern und veröffentlichen Sie dann Ihr Formular.

Trinkgeld

Um den eindeutigen Namen einer Tabelle zu finden, Auswählen Sie die Tabelle in Power Apps und dann Auswählen Einstellungen. Der Name wird im Tabellenbereich Bearbeiten angezeigt. Die Formular-ID ist in der Browser-URL zu finden, wenn Sie ein Formular bearbeiten. Die ID folgt dem Teil /edit/ der URL. Die Formular-ID finden Sie in der Browser-URL, wenn Sie ein Formular im modernen Formulardesigner öffnen.

Im klassischen Formulardesigner folgt die Formular-ID dem Teil formId%3d der URL.

Verhalten von Formularkomponenten

Dieser Abschnitt beschreibt das Verhalten der Formularkomponente bei Verwendung in einer modellbasierten App.

Datensatzauswahl

Damit das Formularkomponentensteuerelement ein Formular anzeigen kann, muss die Nachschlagespalte, an die es gebunden ist, einen Wert haben. Andernfalls zeigt das Steuerelement die Meldung Quelldatensatz nicht ausgewählt an. Eine Möglichkeit zum Festlegen des Werts besteht darin, dem Formular ein Nachschlagesteuerelement hinzuzufügen, das an dieselbe Nachschlagespalte wie das Formularkomponentensteuerelement gebunden ist. Wenn Sie das Nachschlagesteuerelement verwenden, um den Nachschlagespaltenwert zu ändern, zeigt das Formularkomponentensteuerelement ein Formular mit den Daten für den neuen Nachschlagespaltenwert an.

Validierung von Spalten

Alle Spalten, sowohl im Hauptformular als auch in den Steuerelementen der Formularkomponenten, müssen gültig sein, damit Daten an Microsoft Dataverse gesendet werden können. Dies gilt sowohl für Spaltenvalidierungsfehler, fehlende erforderliche Spalten usw.

OnSave Handler werden für das Hauptformular und seine Formularkomponenten-Steuerelemente ausgeführt. Jeder Handler kann das Speichern für das Hauptformular und die Steuerelemente der Formularkomponente mit Abbrechen verhindern, indem er preventDefault verwendet. Dies bedeutet, dass kein Speichervorgang das Senden von Daten an preventDefault auffordern kann. Dataverse Die Reihenfolge, in der die OnSave Handler aufgerufen werden, ist nicht definiert. Weitere Informationen: Formular-OnSave-Ereignis (Client-API-Referenz) in modellgesteuerten Apps

Datensatz speichern

Sobald die Überprüfungsphase bestanden ist, werden für jeden Datensatz Daten an Dataverse gesendet. Derzeit wird jeder Datensatz unabhängig mit unterschiedlichen Anforderungen aktualisiert. Die Speicherungen sind nicht transaktional, und die Reihenfolge der Speicherungen ist nicht definiert. Ein Fehler beim Speichern einer Formularkomponente führt nicht dazu, dass Änderungen am Hauptformular oder anderen Formularkomponenten zurückgesetzt werden. Nach jedem Speichervorgang werden die Daten für alle Datensätze im Formular aktualisiert.

Benachrichtigungen

Benachrichtigungen auf der Formularkomponente werden in die Benachrichtigungen des Hauptformulars aggregiert. Wenn z. B. ungültige Spalten in der Formularkomponente vorhanden sind und Sie versuchen, zu speichern, wird die Meldung über ungültige Spalten oben im Hauptformular und nicht in der Formularkomponente angezeigt.

Fehlerbehandlung

Wenn es mehrere Fehler beim Speichern gibt, wird dem Benutzer nur ein Fehler angezeigt. Wenn der Benutzer Änderungen vornehmen kann, um den ersten Fehler zu beheben und speichert, wird der nächste Fehler sichtbar. Der Benutzer muss so lange speichern, bis alle Fehler behoben sind.

Ändern von Datensätzen mit ungespeicherten Änderungen

Wenn es ungespeicherte Änderungen in einem Formular für eine Formularkomponente gibt und ein Benutzer versucht, die Lookup-Spalte zu ändern, an die die Formularkomponente gebunden ist, wird der Benutzer auf diese Änderung aufmerksam gemacht.

Client API

Für die Formularkomponentensteuerung steht ein Formularkontext zur Verfügung. Der Zugriff ist über den Formularkontext des Hauptformulars möglich, indem auf das Steuerelement über eine API zugegriffen wird, z. B. getControl. Bevor Sie auf Daten für die zugehörige Tabelle im Steuerelement der Formularkomponente zugreifen, sollten Ereignishandler warten, bis die isLoaded-API für das Steuerelement „True“ zurückgibt.

Einschränkungen

Beachten Sie die folgenden Einschränkungen, wenn Sie das Steuerelement der Formularkomponente zu einem Tabellenformular hinzufügen:

  • Das Steuerelement für die Formularkomponente unterstützt nur das Rendern von Hauptformularen. In ähnlicher Weise wird die Unterstützung für das Hinzufügen eines Steuerelements für Formularkomponenten nur bei Hauptformularen unterstützt. Andere Formulartypen, wie z. B. Schnelles Erstellen, Schnellansicht und Karte werden nicht unterstützt.

  • Formulare mit einem Geschäftsprozessfluss werden derzeit weder im Haupttabellenformular noch im zugehörigen Tabellenformular unterstützt. Wenn Sie ein Formular mit einem Business Process Flow haben, kann es zu unerwartetem Verhalten kommen. Wir empfehlen, dass Sie keine Formularkomponente mit einem Formular verwenden, das einen Business Process Flow verwendet.

  • Das Formularkomponenten-Steuerelement unterstützt keine eingebetteten Formularkomponenten-Steuerelemente, wie z. B. das Hinzufügen eines Formularkomponenten-Steuerelements zu einem Formular, das von einem Formularkomponenten-Steuerelement verwendet wird.

  • Das Steuerelement der Formularkomponente unterstützt keine eingebetteten Canvas-Apps. Bei diesen Canvas-Apps kann es zu unerwartetem Verhalten kommen.

  • Das Steuerelement der Formularkomponente zeigt nur die erste Registerkarte des von ihm verwendeten Formulars an, wenn mehrere Registerkarten in diesem Formular enthalten sind.

  • Die Verwendung desselben Formulars für verschiedene Formularkomponenten-Steuerelemente in einem einzelnen Formular wird nicht unterstützt.

  • Das Formular, das Sie mit einer Formularkomponente verwenden, muss in Ihrer App enthalten sein. Wenn dies nicht der Fall ist oder der aktuelle Benutzer keinen Zugriff auf das Formular hat, wird auf das oberste Hauptformular zurückgegriffen, das in der App enthalten und für den Benutzer verfügbar ist (basierend auf der Formularreihenfolge).

  • Alle vom Formular in einer Formularkomponente verwendeten Komponenten müssen in Ihrer App enthalten sein. Zu diesen Komponenten gehören zugehörige Tabellen, Ansichten und Geschäftsprozessabläufe. Wenn dies nicht der Fall ist, sind sie im Formular nicht verfügbar oder es kann zu unerwartetem Verhalten kommen.

  • Steuerelemente für Formularkomponenten unterliegen bestimmten Einschränkungen, wenn sie in Apps mit mehreren Sitzungen gerendert werden. Insbesondere dynamisch hinzugefügte Handler im Formularkomponentenformular wie addOnSave oder addOnChange werden möglicherweise nach dem Wechseln zwischen Multisession-Tabs nicht ausgeführt.

  • Möglicherweise stellen Sie fest, dass die Zeitachsenpinnwand nicht aktualisiert wird, wenn eine Spalte, die zum Festlegen der Zeitachsenpinnwand verwendet wird, in der Formularkomponente geändert wurde. Wenn die Seite aktualisiert wird, wird die Timeline-Wand wie erwartet aktualisiert.

  • Auf Mobilgeräten wird das Zeitleistensteuerelement derzeit nicht im Formularkomponentensteuerelement angezeigt.

  • Für Unterraster sind die Befehlsschaltflächen Alle Datensätze anzeigen und Zugehörige Datensätze anzeigen nicht verfügbar, wenn sie innerhalb einer Formularkomponente gerendert werden.

  • Steuerelemente für Formularkomponenten werden in Massenbearbeitungsdialogen nicht unterstützt. Sie werden standardmäßig nicht im Formular im Massenbearbeitungsdialog angezeigt und alle Änderungen, die mit ihnen an verknüpften Tabellendatensätzen vorgenommen werden, werden nicht gespeichert.

  • Wenn beim Speichern eines Formularkomponenten-Steuerelements doppelte Datensätze erkannt werden, können Benutzer die Duplikate möglicherweise nicht anzeigen, um Konflikte zu lösen.

Siehe auch

Verwenden Sie benutzerdefinierte Steuerelemente für modellgesteuerte App-Datenvisualisierungen