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.
Sie können ein Formular für eine SharePoint-Liste mit Power Apps anpassen, um Listenelemente zu erstellen, anzuzeigen und zu bearbeiten, ohne die Liste verlassen zu müssen. Die reaktionsfähige Vorlage enthält einen Titel, eine Beschreibung und ein Formular in Layoutcontainern. Generierte Formeln und das SharePointIntegration-Steuerelement verbinden das Formular mit Listenaktionen.
Anmerkung
Die vorherige Vorlage hat einen Canvas in mobiler Größe mit einem einspaltigen Formular verwendet. Die neue Vorlage verwendet den Canvas-Typ Flexible und ein responsives Layout, das sich an den verfügbaren Platz anpasst. In diesem Artikel wird die responsive Vorlage beschrieben, bei der sie für die Erstellung neuer Formulare aktiviert ist. Vorhandene angepasste Formulare behalten ihr aktuelles Layout bei und werden nicht automatisch konvertiert.
Formular erstellen und anpassen
Öffnen Sie Ihre Liste in SharePoint oder Microsoft Lists, um das Formular anzupassen. Wenn Sie eine Liste in SharePoint erstellen oder anzeigen, werden Sie automatisch zu Microsoft Lists weitergeleitet. Die Liste ist an beiden Stellen verfügbar. Weitere Informationen finden Sie unter Was ist eine Liste in Microsoft 365?
- Öffnen Sie Ihre Liste in SharePoint oder Microsoft Lists.
- Wählen Sie "Integrieren>Power Apps>Formulare anpassen" aus.
- Erweitern Sie in Power Apps Studio die Container des Bildschirms in der Strukturansicht, und wählen Sie das geschachtelte Formularsteuerelement SharePointForm1 aus.
- Verwenden Sie Edit fields, um die Felder auszuwählen und anzuordnen. Binden Sie die DataSource des Formulars an Ihre Liste.
- Wählen Sie die Titel- und Beschreibungssteuerelemente aus, um ihren Text anzupassen. Bewahren Sie die responsive Größe der Container und die generierten SharePointIntegration-Aktionen auf.
- Speichern Sie das Formular, und veröffentlichen Sie es in SharePoint. Testen Sie das Erstellen, Anzeigen, Bearbeiten, Speichern und Entfernen eines Elements aus der Liste.
Das standardmäßig generierte Formular verstehen
Das Formular ist in Layoutcontainern geschachtelt, anstatt direkt auf dem Bildschirm platziert zu werden. Erweitern Sie die Container in der Strukturansicht, um das Formular und die zugehörigen Datenkarten zu finden.
| Steuerung | Purpose |
|---|---|
| FormScreen1 | Der Bildschirm, der das responsive Layout enthält. |
| FormScroll1 | Der äußere Container, der einen vertikalen Bildlauf ermöglicht. |
| TitleBand1 | Der Container für den Titel und die Beschreibung. |
| FormCardWrap1 | Der Container im Kartenstil um das Formular. |
| SharePointForm1 | Das Formular , das ein Listenelement erstellt, anzeigt oder bearbeitet. Die zugehörigen Datenkarten stellen die Listenfelder dar. |
| SharePointIntegration | Das Steuerelement, das SharePoint-Liste Aktionen mit dem Formular verbindet. |
Dies sind beispielhaft generierte Namen. Wenn sich ein Name in Ihrer App unterscheidet oder Sie ein Steuerelement umbenennen, verwenden Sie den tatsächlichen Namen in Formeln. In den folgenden Beispielen wird SharePointForm1 für das geschachtelte Formular verwendet.
Formular mit der Liste verbunden halten
Die DataSource des Formulars ist die Liste, die Sie anpassen. Die Item-Formel verwendet den in SharePoint ausgewählten Datensatz, wobei das erste Listenelement als Fallback verwendet wird, wenn kein Element ausgewählt ist:
If(
IsBlank(SharePointIntegration.Selected),
First('YourListName'),
SharePointIntegration.Selected
)
Ersetzen Sie 'YourListName' durch den Datenquellennamen Ihrer Liste. Mit dem Fallback können Sie mit Beispieldaten in Studio arbeiten. Die SharePointIntegration-Aktionen legen den Modus des Formulars fest, wenn es in SharePoint ausgeführt wird.
Spaltenlayout
Die flexible Canvas verwendet dynamische Größenanpassungen, anstatt ein festes mobiles Layout zu skalieren. Die Formel NumberOfColumns des Formulars verwendet die Breite der App:
If(App.Width < 640, 1, If(App.Width < 900, 2, 3))
| App-Breite | Columns |
|---|---|
| Weniger als 640. | Eine. |
| 640 bis weniger als 900. | Zwei. |
| 900 oder mehr. | Drei. |
Diese Haltepunkte für die App-Breite garantieren nicht, wie viele Spalten in jeden SharePoint-Bereich passen. Überprüfen Sie das Formular in seinem tatsächlichen Host, nicht nur in Studio.
Generierte Datenkarten verwenden Formeln basierend auf Parent.NumberOfColumns für ihre Position und Breite. Durch das Ersetzen dieser Formeln durch feste Werte können Felder nicht mehr neu angeordnet werden. Überprüfen Sie lange Beschriftungen, mehrzeilige Felder, Pflichtfeldmeldungen und Scrollen in jeder Layoutgröße. Ein responsiver Bildschirm bedeutet nicht, dass jedes Feld ein neues modernes Eingabesteuerelement verwendet.
Behalten Sie beim Anpassen des Layouts die generierten Einstellungen für die responsive Anzeige und Containerformeln bei. Weitere Informationen zu Formeln zur Größenanpassung finden Sie unter Erstellen dynamischer Layouts in Canvas-Apps.
Anmerkung
Während Sie ein Formular manuell aus einer Umgebung in eine andere kopieren können, gibt es derzeit keine automatisierte Methode in Power Apps, um ein Formular aus einer Umgebung in eine andere zu kopieren.
Das SharePointIntegration-Steuerelement verstehen
Das Steuerelement SharePointIntegration übermittelt Benutzeraktionen zwischen SharePoint und Power Apps. Die Position des Formulars innerhalb von Containern ändert diese Integration nicht.
Anmerkung
Sie können nur dann auf Eigenschaften für das SharePointIntegration-Steuerelement zugreifen, wenn das Formular in SharePoint ausgeführt wird, nicht wenn Sie das Formular in Power Apps Studio anpassen. Diese Eigenschaften sind möglicherweise in OnStart oder OnVisible nicht verfügbar.
Standardaktionen für Formulare
Behalten Sie die generierten Aktionen bei, sodass das geschachtelte Formular auf die Vorgänge Neu, Ansicht, Bearbeiten, Speichern und Abbrechen der Liste reagiert:
| Eigenschaft | Vorgang in SharePoint | Formel für Formulare |
|---|---|---|
| OnNew | Öffnen Sie das Formular Neu oder Element erstellen. | NewForm(SharePointForm1) |
| OnView | Wählen Sie ein Element aus, oder öffnen Sie dessen Detailformular. | ViewForm(SharePointForm1) |
| OnEdit | Wählen Sie Alle bearbeiten aus, oder öffnen Sie das Element bearbeiten-Formular. | EditForm(SharePointForm1) |
| OnSave | Klicken Sie auf Speichern, um die Änderungen zu übermitteln. | SubmitForm(SharePointForm1) |
| OnCancel | Wählen Sie "Abbrechen" aus, um die Änderungen zurückzusetzen. SharePoint blendet das Formular automatisch aus. | ResetForm(SharePointForm1) |
Speicherergebnisse verarbeiten
Das OnSuccess des Formulars wird erst nach einer erfolgreichen Übermittlung ausgeführt. Die responsive Vorlage setzt das Formular zurück und fordert SharePoint auf, es auszublenden:
ResetForm(Self); RequestHide()
Self bezieht sich auf das Formular, dessen OnSuccess-Formel ausgeführt wird. Behalten Sie RequestHide() in OnSuccess, nicht bevor ein Speichervorgang erfolgreich war. Verwenden Sie OnFailure und die Fehlerausgabe des Formulars, um fehlgeschlagene Speichervorgänge zu kommunizieren. Blenden Sie das Formular nicht aus, als ob der Datensatz gespeichert worden wäre.
Ausgewählte Elementeigenschaften
Verwenden Sie diese Eigenschaften, um mit dem Listenelement zu arbeiten, das von SharePoint geöffnet wird:
| Eigenschaft | Beschreibung |
|---|---|
| Ausgewählt | Der ausgewählte Datensatz aus der Liste. |
| SelectedListItemID | Die ID des ausgewählten Listenelements. |
| Datenquelle | Die Liste, die den Datensatz enthält. Das Ändern dieser Eigenschaft kann verhindern, dass Selected und SelectedListItemID funktionieren. |
Zum Kopieren des aktuellen Datensatzes in eine Variable siehe Häufig auftretende Probleme mit dem SharePointIntegration-Objekt.
Anpassen des Standardformulars
Passen Sie das Layout und die Formeln an, ohne die Verbindung zwischen dem geschachtelten Formular und SharePoint zu unterbrechen.
- Belassen Sie das Formular in seinen Layout-Containern. Ändern Sie den Titel, die Beschreibung und die Felder, ohne Formeln für responsive Größenanpassung durch feste Werte zu ersetzen.
- Verwenden Sie die OnSave-Formel von SharePointIntegration, um nur das aktuell verwendete Formular zu übermitteln. Wenn Sie mehrere Formulare hinzufügen, legen Sie eine Variable in OnNew, OnView und OnEdit fest, um zu identifizieren, welches Formular übermittelt werden soll.
- Fügen Sie in die
RequestHide()-Formel jedes Formulars ein. Führen Sie wichtige Logik aus, bevorRequestHide()ausgeführt wird, während das Formular noch sichtbar ist und diese Logik ausführen kann. - Setzen Sie Ihre Formulare in SharePointIntegration.OnCancel zurück. SharePoint-Steuerelemente werden ausgeblendet, wenn der Benutzer Abbrechen auswählt.
- Verwenden Sie OnNew, OnView oder OnEdit für Logik, die ausgeführt werden muss, bevor SharePoint das Formular anzeigt. Verlassen Sie sich nicht auf OnStart oder OnVisible für Änderungen an Listenelementen.
Allgemeine Probleme mit dem SharePointIntegration Objekt
Die folgenden Richtlinien gelten, wenn das responsive Formular innerhalb von SharePoint ausgeführt wird.
Aktuellen Datensatz lesen
Wenn eine Variable, die auf SharePointIntegration.Selected basiert, die neuesten Werte nicht enthält, verwenden Sie SelectedListItemID, um den Datensatz nachzuschlagen. Fügen Sie beispielsweise diese Formel zusammen mit der generierten Aktion zu ViewForm(SharePointForm1) hinzu:
ViewForm(SharePointForm1);
Set(
selectedLookupItem,
LookUp('YourListName', ID = SharePointIntegration.SelectedListItemID)
)
Ersetzen Sie 'YourListName' durch den Datenquellennamen Ihrer Liste.
Sitzungszustand zurücksetzen
Sammlungsvariablen werden beim Schließen des Formulars nicht zurückgesetzt. Der Zustand wird für die gesamte Sitzung beibehalten. Wenn Sie eine Sammlung zurücksetzen müssen, leeren Sie sie in SharePointIntegration.OnView.
Unerwartete Hintergrundaktionen vermeiden
Verwenden Sie keine imperativen Funktionen wie Launch() in SharePointIntegration-Eigenschaften wie "OnNew " und "OnView". Diese Ereignisse können auch dann im Hintergrund ausgeführt werden, wenn das Formular nicht sichtbar ist.
Grundlegendes zum Benutzerzugriff auf benutzerdefinierte Formulare
Sie können ein mit Power Apps angepasstes SharePoint-Formular nicht manuell freigeben. Stattdessen erbt jeder Benutzer, der mindestens Lese - oder Eingeschränkte Ansicht Zugriff auf die verknüpfte SharePoint-Liste hat, Zugriff auf das Formular. Benutzer, denen nur Berechtigungen für bestimmte Elemente in der Liste erteilt wurden, haben keinen Zugriff auf das angepasste Formular.