Edytowanie rekordów powiązanych tabeli bezpośrednio z głównego formularza innej tabeli
W formularzu tabeli w aplikacji Power Apps można pracować na wiele sposobów z rekordami powiązanej tabeli. Na przykład można dołączyć powiązane tabele w trybie tylko do odczytu za pomocą skróconego formularza i utworzyć lub edytować rekord przy użyciu formularza głównego w oknie dialogowym.
Innym sposobem pracy z rekordami powiązanej tabeli jest dodanie kontrolki składnika formularza do głównego formularza innej tabeli. Kontrolka składnika formularza umożliwia użytkownikom edytowanie informacji rekordu powiązanej tabeli bezpośrednio z formularza innej tabeli.
Na przykład oto składnik formularza na osobnej karcie w głównym formularzu klienta, który umożliwia użytkownikowi edytowanie rekordu kontaktu bez opuszczania formularza klienta.
Na przykład, oto składnik formularza na istniejącej karcie w głównym formularzu klienta, który umożliwia również użytkownikowi edytowanie rekordu kontaktu bez opuszczania karty Podsumowanie formularza klienta.
Dodawanie składnika formularza do głównego formularza tabeli
- W lewym okienku nawigacji wybierz Składniki. Jeśli elementu nie ma w panelu bocznym, wybierz ... Więcej , a następnie wybierz żądany element.
- Rozwiń węzeł Dane wejściowe lub Wyświetlanie, a następnie wybierz pozycję Formularz.
Na stronie konfiguracji formantu składnika formularza wybierz właściwości formantu:
- Wybierz kolumnę Odnośnik dla formularza.
- Wybierz formularz Pokrewne. W zależności od powiązanej konfiguracji tabeli dla kolumny:
- Jeśli kolumna jest połączona z pojedynczą tabelą (na przykład kolumną Utworzone przez), wybierz formularz Pokrewne, który ma być używany.
- Jeśli kolumna jest połączona z wieloma tabelami (polimorficznymi, takimi jak kolumna właściciela), wybierz pozycję + Powiązany formularz , a następnie wybierz pozycję Dodaj , aby dodać powiązany formularz. Kontynuuj wybieranie + Powiązany formularz>Dodaj , aby dodać powiązany formularz dla każdej powiązanej tabeli.
- Domyślnie wszystkie typy aplikacji klienckich Sieć, Telefon i Tablet są włączone do wyświetlania formularza. Wyczyść typy klientów, w których nie ma być wyświetlany formularz.
- Wybierz Gotowe.
- Zapisz , a następnie opublikuj formularz.
Dodawanie składnika formularza przy użyciu klasycznych funkcji
W tym przykładzie standardowy formularz główny Kontakt jest skonfigurowany dla formantu składnika formularza, który jest dodawany do formularza głównego konta.
Ważne
Sposób dodawania formantu składnika formularza uległ zmianie. Zaleca się korzystanie z najnowszego sposobu. Więcej informacji: Dodawanie składnika formularza do formularza głównego tabeli
Zaloguj się w Power Apps.
Wybierz pozycję Tabele w okienku po lewej stronie. Możesz też otworzyć rozwiązanie , anastępnie wybrać tabelę, taką jak Konto. Jeśli elementu nie ma w panelu bocznym, wybierz ... Więcej , a następnie wybierz żądany element.
Wybierz Formularze z menu komponentów.
Z dostępnych formularzy wybierz formularz o typie formularza Główny .
Wybierz Przełącz do widoku klasycznego. Klasyczny edytor formularzy otwiera się jako karta w przeglądarce.
Wybierz kartę Wstawianie . Następnie utwórz nową kartę i dodaj nową sekcję lub dodaj nową sekcję do istniejącej karty.
W nowej sekcji dodaj kolumnę odnośnika, taką jak kolumna odnośnika Kontakt podstawowy.
Zaznacz kolumnę odnośnika, a następnie na karcie Narzędzia główne wybierz pozycję Zmień właściwości .
Na karcie Formanty wybierz pozycję Dodaj kontrolkę, z listy typów kontrolek wybierz pozycję Formant składnika formularza, a następnie wybierz pozycję Dodaj.
Wybierz opcję Internet, Tablet i Telefon dla komponentu.
Wybierz pozycję Edytuj (ikona ołówka), a następnie w oknie dialogowym Konfigurowanie właściwości wybierz pozycję Powiąż z wartością statyczną, a następnie dodaj wpis XML podobny do tego, w którym TableName jest unikatową nazwą tabeli, a FormID jest identyfikatorem formularza głównego:
<QuickForms><QuickFormIds><QuickFormId entityname="TableName">FormID</QuickFormId></QuickFormIds></QuickForms>
- Na przykład, aby wyrenderować główny formularz Kontakt w formularzu konta, użyj:
<QuickForms><QuickFormIds><QuickFormId entityname="contact">1fed44d1-ae68-4a41-bd2b-f13acac4acfa</QuickFormId></QuickFormIds></QuickForms>
- Na przykład, aby wyrenderować główny formularz Kontakt w formularzu konta, użyj:
Wybierz przycisk OK, a następnie ponownie wybierz przycisk OK .
Zapisz , a następnie opublikuj formularz.
Porada
Aby znaleźć unikatową nazwę tabeli, wybierz tabelę w Power Apps obszarze, a następnie wybierz pozycję Ustawienia. Nazwa zostanie wyświetlona w okienku Edytowanie tabeli. Identyfikator formularza można znaleźć w adresie URL w przeglądarce podczas edytowania formularza. Identyfikator jest zgodny z częścią adresu URL/edit/ .
W klasycznym projektant formularzy identyfikator formularza jest zgodny z %3częścią formularza d adresu URL.
Zachowanie składnika formularza
W tej sekcji opisano zachowanie składnika formularza, gdy jest używany w aplikacji opartej na modelu.
Wybór rekordów
Aby formant składnika formularza był pokazywany formularz, kolumna wyszukiwania, z która jest powiązana, musi mieć wartość. W przeciwnym razie w kontrolce zostanie wyświetlony komunikat Nie wybrano rekordu źródłowego. Jednym ze sposobów ustawienia wartości jest dodanie do formularza formantu wyszukiwania powiązanego z taką samą kolumną wyszukiwania, jak formant składnika formularza. Jeśli do zmiany wartości kolumny wyszukiwania zostanie użycie formantu wyszukiwania, formant składnika formularza będzie wyświetlał formularz z danymi dla nowej wartości kolumny wyszukiwania.
Sprawdzanie poprawności kolumn
Aby dane były wysyłane do usługi Microsoft Dataverse, wszystkie kolumny, zarówno w głównym formularzu, jak i w kontrolkach składników formularza, muszą być prawidłowe. Nie może być błędów sprawdzania poprawności kolumn, braków wymaganych kolumn itd.
OnSave
Programy obsługi są uruchamiane dla formularza głównego i jego formantów składnika formularza. Każdy program obsługi może anulować zapisywanie formantów formularza głównego i składnika formularza przy użyciu parametru preventDefault. Oznacza to, że żadna operacja zapisywania nie może wywołać preventDefault
danych, do Dataverse których mają zostać wysłane. Kolejność, w której OnSave
są wywoływane programy obsługi, nie jest zdefiniowana. Więcej informacji: Formularz zdarzenia przy zapisywaniu (dokumentacja interfejsu API klienta) w aplikacjach opartych na modelu
Zapisywanie rekordów
Po przejściu etapu sprawdzania poprawności dane są wysyłane do usługi Dataverse dla każdego rekordu. Obecnie każdy rekord jest aktualizowany niezależnie za pomocą różnych żądań. Te operacje zapisu nie są transakcyjne, a ich kolejność nie jest zdefiniowana. Błąd podczas zapisywania jednego składnika formularza nie spowoduje wycofania zmian w głównym formularzu ani innych składnikach formularza. Po zakończeniu każdej operacji zapisu dane są odświeżane dla wszystkich rekordów w formularzu.
Powiadomienia
Powiadomienia w składniku formularza są agregowane do powiadomienia w formularzu głównym. Na przykład jeśli w składniku formularza znajdują się nieprawidłowe kolumny i spróbujesz zapisać taki formularz, powiadomienie o nieprawidłowej kolumnie pojawi się u góry głównego formularza, a nie w składniku formularza.
Obsługa błędów
Jeśli podczas zapisywania występuje wiele błędów, użytkownikowi zostanie wyświetlony tylko jeden błąd. Jeśli użytkownik może wprowadzić zmiany, aby naprawić pierwszy błąd i zapisać formularz, zostanie pokazany następny błąd. Użytkownik będzie musiał kontynuować zapisywanie do czasu, aż wszystkie zostaną usunięte.
Modyfikowanie rekordów z niezapisanymi zmianami
Jeśli w formularzu występują niezapisane zmiany składnika formularza, a użytkownik spróbuje zmienić kolumnę odnośnika, z którą jest powiązany składnik formularza, zostanie powiadomiony o tej zmianie.
Adres API klienta
Kontekst formularza jest dostępny dla formantu składnika formularza . Dostęp do niego można uzyskać za pośrednictwem kontekstu formularza głównego, uzyskując dostęp do formantu za pośrednictwem interfejsu API, takiego jak getControl. Przed uzyskaniem dostępu do danych dla powiązanej tabeli w kontrolce składnika formularza programy obsługi zdarzeń powinny poczekać, aż interfejs API isLoaded zwróci wartość true.
Ograniczenia
Należy zwrócić uwagę na następujące ograniczenia podczas dodawania kontrolki składnika formularza do formularza tabeli:
Kontrolka składnika formularza obsługuje tylko renderowanie głównych formularzy. Analogicznie dodawanie kontrolek składników formularzy jest możliwe tylko w głównych formularzach. Nie można tego robić w innych typach formularzy, takich jak formularz szybkiego tworzenia, skrócony formularz czy karta.
Formularze z przepływ procesów biznesowych nie są obecnie obsługiwane w formularzu tabeli głównej ani w formularzu tabeli pokrewnej. Jeśli masz formularz z przepływem procesów biznesowych, może wystąpić nieoczekiwane zachowanie. Zalecamy, aby nie używać składnika formularza z formularzem, który używa przepływu procesów biznesowych.
Kontrolka składnika formularza nie obsługuje osadzonych kontrolek składników formularzy, tzn. nie można dodać kontrolki składnika formularza do formularza używanego przez kontrolkę składnika formularza.
Kontrolka składnika formularza nie obsługuje osadzonych aplikacji kanwy. W przypadku tych aplikacji kanwy możesz napotkać nieoczekiwane zachowanie.
Kontrolka składnika formularza pokazuje tylko pierwszą kartę używanego formularza, jeśli w tym formularzu znajduje się wiele kart.
Używanie tego samego formularza w przypadku różnych formantów składnika formularza w jednym formularzu jest obsługiwane.
Formularz, który jest używany ze składnikiem formularza, musi być dołączony do aplikacji. Jeśli nie jest lub jeśli bieżący użytkownik nie ma dostępu do formularza, zostanie wyświetlony i udostępniony użytkownikowi główny formularz u góry zawarty w aplikacji (na podstawie kolejności formularza).
Wszystkie składniki używane przez formularz w składniku formularza muszą być uwzględnione w aplikacji. Składniki te obejmują tabele pokrewne, widoki i przepływy procesów biznesowych. Jeśli nie, nie będą dostępne w formularzu lub może pojawić się nieoczekiwane zachowanie.
Formanty składników formularzy mają pewne ograniczenia w przypadku renderowania w aplikacjach wielosesyjnech. W szczególności dynamicznie dodawane programy obsługi w formularzu składnika formularza, takie jak
addOnSave
lubaddOnChange
mogą nie być uruchamiane po przełączeniu kart wielosesyjnych.Czasami tablica osi czasu może nie być aktualizowana, gdy kolumna użyta do ustawienia tablicy osi czasu uległa zmianie w składniku formularza. Po odświeżeniu strony tablica osi czasu zostanie zaktualizowana zgodnie z oczekiwaniami.
Na urządzeniach mobilnych formant osi czasu nie jest obecnie wyświetlany w kontrolce składnika formularza.
W przypadku podsiatek przyciski poleceń Zobacz wszystkie rekordy i Zobacz skojarzone rekordy nie będą dostępne, jeśli są renderowane wewnątrz składnika formularza.
Formanty składnika formularza nie są obsługiwane w dialogach edycji zbiorczej. Domyślnie nie będą one wyświetlane w formularzu w oknie dialogowym edycji zbiorczej, a wszelkie zmiany wprowadzone w powiązanych z nimi rekordach tabeli nie zostaną zapisane.
W przypadku wykrycia zduplikowanych rekordów podczas zapisywania formantu składnika formularza użytkownicy mogą nie być w stanie wyświetlić duplikatów w celu rozwiązania konfliktów.
Zobacz też
Używanie kontrolek niestandardowych do wizualizacji danych aplikacji opartych na modelu