Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Formularz listy SharePoint można dostosować za pomocą Power Apps, aby tworzyć, wyświetlać i edytować elementy listy bez opuszczania listy. Szablon responsywny zawiera tytuł, opis i formularz wewnątrz kontenerów układu. Wygenerowane formuły i kontrolka SharePointIntegration łączą formularz z akcjami listy.
Uwaga
Poprzedni szablon używał obszaru roboczego w rozmiarze mobilnym z formularzem jednokolumnowym. Nowy szablon używa typu obszaru roboczego Flexible i układu dynamicznego, który dostosowuje się do dostępnego miejsca. W tym artykule opisano szablon responsywny, który jest używany podczas tworzenia nowych formularzy. Istniejące niestandardowe formularze zachowują bieżący układ i nie są automatycznie konwertowane.
Utwórz i dostosuj formularz
Otwórz listę w SharePoint lub Microsoft Lists, aby dostosować jej formularz. Podczas tworzenia lub wyświetlania listy w SharePoint następuje automatyczne przekierowanie do aplikacji Listy Microsoft. Lista jest dostępna w obu miejscach. Aby uzyskać więcej informacji, zobacz Co to jest lista na platformie Microsoft 365?
- Otwórz listę w SharePoint lub Microsoft Lists.
- Wybierz pozycję Integruj>Power Apps>Dostosuj formularze.
- W programie Power Apps Studio rozwiń kontenery ekranu w widoku drzewa i wybierz zagnieżdżoną kontrolkę formularza SharePointForm1.
- Użyj pozycji Edytuj pola , aby wybrać i uporządkować pola. Zachowaj powiązanie formularza DataSource z listą.
- Wybierz kontrolki tytułu i opisu, aby dostosować ich tekst. Zachowaj responsywne rozmiary kontenerów i wygenerowane akcje SharePointIntegration.
- Zapisz formularz i opublikuj go w SharePoint. Przetestuj tworzenie, wyświetlanie, edytowanie, zapisywanie i usuwanie elementu z listy.
Omówienie domyślnie wygenerowanego formularza
Formularz jest zagnieżdżony wewnątrz kontenerów układu, a nie umieszczony bezpośrednio na ekranie. Rozwiń kontenery w widoku drzewa, aby znaleźć formularz i jego karty danych.
| Control | Purpose |
|---|---|
| FormScreen1 | Ekran zawierający układ responsywny. |
| FormScroll1 | Kontener zewnętrzny, który zapewnia przewijanie w pionie. |
| TitleBand1 | Kontener dla tytułu i opisu. |
| FormCardWrap1 | Kontener w stylu karty wokół formularza. |
| SharePointForm1 | Formularz, który tworzy, pokazuje lub edytuje element listy. Jego karty danych reprezentują pola na liście. |
| SharePointIntegration | Kontrolka, która łączy akcje listy SharePoint z formularzem. |
Są to przykładowe nazwy wygenerowane. Jeśli nazwa w aplikacji jest inna lub zmieniasz nazwę kontrolki, użyj jej rzeczywistej nazwy w formułach. W poniższych przykładach użyto programu SharePointForm1 dla formularza zagnieżdżonego.
Pozostaw formularz połączony z listą
Źródło DataSource formularza jest listą, którą dostosowujesz. Formuła Element używa rekordu wybranego w SharePoint, z pierwszym elementem listy jako rozwiązania zastępczego, gdy nie wybrano żadnego elementu:
If(
IsBlank(SharePointIntegration.Selected),
First('YourListName'),
SharePointIntegration.Selected
)
Zastąp 'YourListName' nazwą źródła danych listy. Mechanizm awaryjny umożliwia pracę z przykładowymi danymi w programie Studio. Akcje SharePointIntegration ustawiają tryb formularza, gdy działa on w SharePoint.
Układ kolumn
Elastyczna kanwa używa responsywnego dopasowania rozmiaru zamiast skalowania stałego układu mobilnego. Formuła NumberOfColumns formularza używa szerokości aplikacji:
If(App.Width < 640, 1, If(App.Width < 900, 2, 3))
| Szerokość aplikacji | Columns |
|---|---|
| Mniej niż 640. | Jeden. |
| Od 640 do poniżej 900. | Dwa. |
| 900 lub więcej. | Trzy. |
Te punkty przerwania o szerokości aplikacji nie gwarantują, ile kolumn mieści się wewnątrz każdego panelu SharePoint. Sprawdź formularz na rzeczywistym hoście, a nie tylko w programie Studio.
Wygenerowane karty danych używają formuł na podstawie właściwości Parent.NumberOfColumns dla ich położenia i szerokości. Zastąpienie tych formuł stałymi wartościami może uniemożliwić ponowne rozmieszczanie pól. Sprawdź długie etykiety, pola wielowierszowe, komunikaty o wymaganych polach i przewijanie przy każdym rozmiarze układu. Ekran responsywny nie oznacza, że każde pole używa nowej nowoczesnej kontrolki wejściowej.
Zachowaj wygenerowane dynamiczne ustawienia wyświetlania i formuły kontenera podczas dostosowywania układu. Aby uzyskać więcej informacji na temat formuł określania rozmiaru, zobacz Tworzenie dynamicznych układów w aplikacjach kanwowych.
Uwaga
Chociaż możesz ręcznie skopiować formularz z jednego środowiska do innego, obecnie w usłudze Power Apps nie ma metody automatycznej kopiowania formularza z jednego środowiska do innego.
Omówienie kontrolki SharePointIntegration
Kontrolka SharePointIntegration służy do przekazywania akcji użytkownika między programem SharePoint i usługą Power Apps. Pozycja formularza wewnątrz kontenerów nie ma wpływu na tę integrację.
Uwaga
Dostęp do właściwości kontrolki SharePointIntegration można uzyskać tylko wtedy, gdy formularz jest uruchamiany w programie SharePoint, a nie podczas dostosowywania formularza w programie Power Apps Studio. Te właściwości mogą być niedostępne w formułach OnStart lub OnVisible.
Domyślne akcje formularza
Zachowaj wygenerowane akcje, aby formularz zagnieżdżony odpowiadał na operacje Nowy, Pokaż, Edytuj, Zapisz i Anuluj:
| Właściwość | Akcje w SharePoint | Formularz formuły |
|---|---|---|
| OnNew | Otwórz formularz Nowy lub Utwórz element . | NewForm(SharePointForm1) |
| OnView | Wybierz element lub otwórz formularz szczegółów. | ViewForm(SharePointForm1) |
| OnEdit | Wybierz pozycję Edytuj wszystko lub otwórz formularz Edytuj element . | EditForm(SharePointForm1) |
| OnSave | Wybierz Zapisz, aby przesłać zmiany. | SubmitForm(SharePointForm1) |
| OnCancel | Wybierz Anuluj, aby zresetować zmiany. SharePoint automatycznie ukrywa formularz. | ResetForm(SharePointForm1) |
Obsłuż wyniki zapisu
Zdarzenie OnSuccess formularza jest uruchamiane dopiero po pomyślnym przesłaniu. Szablon dynamiczny resetuje formularz i prosi SharePoint o ukrycie go:
ResetForm(Self); RequestHide()
Self odwołuje się do formularza, którego formuła OnSuccess jest uruchamiana. Zachowaj RequestHide() w OnSuccess, a nie zanim zapis zakończy się powodzeniem. Użyj polecenia OnFailure i wyjścia Error formularza, aby przekazać informacje o nieudanych zapisach. Nie ukrywaj formularza tak, jakby rekord został zapisany.
Wybrane właściwości elementu
Użyj tych właściwości, aby pracować z elementem listy otwieranym przez program SharePoint:
| Właściwość | Description |
|---|---|
| Wybrano | Wybrany rekord z listy. |
| SelectedListItemID | Identyfikator wybranego elementu listy. |
| Źródło danych | Lista zawierająca rekord. Zmiana tej właściwości może uniemożliwić działanie właściwości Selected i SelectedListItemID . |
Aby skopiować bieżący rekord do zmiennej, zobacz Typowe problemy z obiektem SharePointIntegration.
Dostosowywanie formularza domyślnego
Dostosuj układ i formuły bez przerywania połączenia między zagnieżdżonym formularzem a SharePoint.
- Zachowaj formularz wewnątrz kontenerów układu. Zmień tytuł, opis i pola bez zastępowania responsywnych formuł zmiany rozmiaru stałymi wartościami.
- Użyj formuły OnSave obiektu SharePointIntegration, aby przesłać tylko używany formularz. W przypadku dodawania wielu formularzy ustaw zmienną w OnNew, OnView i OnEdit, aby zidentyfikować formularz do przesłania.
- Uwzględnij
RequestHide()w formule OnSuccess każdego formularza. Uruchom ważną logikę przedRequestHide(), gdy formularz jest nadal widoczny i można uruchomić tę logikę. - Zresetuj formularze w SharePointIntegration.OnCancel. SharePoint kontrolki ukrywają się, gdy użytkownik wybierze przycisk Anuluj.
- Użyj polecenia OnNew, OnView lub OnEdit do logiki, która musi zostać uruchomiona przed wyświetleniem formularza przez SharePoint. Nie należy polegać na OnStart ani OnVisible do obsługi zmian elementów listy.
Typowe problemy dotyczące obiektu SharePointIntegration
Poniższe wskazówki dotyczą uruchamiania formularza dynamicznego wewnątrz SharePoint.
Odczytaj bieżący rekord
Jeśli zmienna oparta na wartości SharePointIntegration.Selected nie wyświetla najnowszych wartości, użyj parametru SelectedListItemID , aby wyszukać rekord. Na przykład dodaj tę formułę do elementu SharePointIntegration.OnView wraz z wygenerowaną ViewForm(SharePointForm1) akcją:
ViewForm(SharePointForm1);
Set(
selectedLookupItem,
LookUp('YourListName', ID = SharePointIntegration.SelectedListItemID)
)
Zastąp 'YourListName' nazwą źródła danych listy.
Resetuj stan sesji
Zmienne kolekcji nie są resetowane po zamknięciu formularza. Stan utrzymuje się przez całą sesję. Jeśli musisz zresetować kolekcję, wyczyść ją w SharePointIntegration.OnView.
Unikaj nieoczekiwanych akcji w tle
Nie używaj funkcji imperatywnych, takich jak , we właściwościach Launch(), takich jak OnNew i OnView. Te zdarzenia mogą być uruchamiane w tle nawet wtedy, gdy formularz nie jest widoczny.
Zrozumienie dostępu użytkowników do dostosowanych formularzy
Nie można ręcznie udostępnić formularza programu SharePoint dostosowanego do usługi Power Apps. Zamiast tego każdy użytkownik, który ma co najmniej dostęp do odczytu lub widoku z ograniczeniami do połączonej listy programu SharePoint, dziedziczy dostęp do formularza. Użytkownicy, którzy otrzymali tylko uprawnienia do określonych elementów na liście, nie mają dostępu do dostosowanego formularza.