Udostępnij przez


Omówienie kart danych w aplikacjach kanwy

Formularz wyświetlania i Formularz edycji w aplikacjach Canvas są kontenerami dla całych rekordów. Każdy formularz ma wiele kontrolek karty, które są blokami konstrukcyjnymi formularza. Każda karta pokazuje lub umożliwia edycję pojedynczego pola z rekordu i łącza do tego pola za pomocą właściwości DataField . Formularz zawiera pełny rekord, a każda karta koncentruje się na jednym polu, dzięki czemu można kontrolować sposób wyświetlania lub aktualizowania danych.

Otwórz aplikację do edycji w programie Power Apps Studio. W widoku drzewa wybierz kontrolkę formularza. W okienku Właściwości wybierz pola, które mają być wyświetlane, jak wyświetlić każde pole i kolejność ich wyświetlania. Na przykład poniższy zrzut ekranu przedstawia kontrolkę Formularz edycji w aplikacji utworzonej na podstawie listy o nazwie Zasoby, gdzie można dostosować pola do własnych potrzeb.

Zrzut ekranu przedstawiający kontrolkę Formularz edycji w aplikacji utworzonej na podstawie listy o nazwie Zasoby. W formularzu zostanie wyświetlonych kilka pól, które można dostosować.

Rozpocznij od kart, czytając temat poświęcony dodawaniu formularza i omówieniu formularzy danych. W tym artykule wyjaśniono, jak działają karty oraz jak dostosować lub utworzyć własne.

Wstępnie zdefiniowane karty

Usługa Power Apps oferuje wstępnie zdefiniowany zestaw kart dla ciągów, liczb i innych typów danych, dzięki czemu możesz dostosować aplikację do określonych potrzeb dotyczących danych. W okienku po prawej stronie zobaczysz dostępne typy i możesz zmienić kartę dla pola.

Zrzut ekranu przedstawiający wybraną kartę w usłudze Power Apps.

W tym przykładzie wybrano kartę tekstu jednowierszowego, ale tekst adresu URL jest dłuższy niż jeden wiersz. Zmień to na wielowierszową kartę tekstową, aby użytkownicy mieli więcej miejsca do edycji.

Zrzut ekranu przedstawiający edycję wielowierszowej karty tekstowej w usłudze Power Apps.

Niektóre pola tego źródła danych nie są wyświetlane, ale można pokazać lub ukryć pole, zaznaczając odpowiednie pole wyboru. W tym przykładzie pokazano, jak wyświetlić pole SecurityCode .

Dostosowywanie karty

Karty mają inne kontrolki. W przypadku kontrolki Formularz edycji użytkownik wprowadza dane w standardowej kontrolce Wprowadzenie tekstu, którą można dodać z karty Wstawianie.

W tym artykule wyjaśniono, jak zmienić wygląd karty, zmieniając w nim kontrolki.

  1. Po pierwsze należy wrócić do ostatnio wstawionej karty dla pola SecurityCode. Wybierz tę kartę, wybierając ją raz:

    Wybieranie kodu zabezpieczeń.

  2. Wybierz kontrolkę Wprowadzanie tekstu wewnątrz karty, wybierając samą kontrolkę wprowadzania.

    Wybierz wprowadzanie tekstu.

  3. Przenieś kontrolkę na karcie, przeciągając pole zaznaczenia i zmieniając jego rozmiar, przeciągając uchwyty wzdłuż krawędzi pola zaznaczenia. Zrzut ekranu przedstawiający przeciąganie i zmienianie rozmiaru kontrolki wprowadzania tekstu na karcie SecurityCode.

W ramach danej karty można zmieniać rozmiar kontrolek, przenosić je i wprowadzać inne modyfikacje, ale usunięcie kontrolek jest możliwe dopiero po jej odblokowaniu.

Odblokowywanie karty

Chociaż karty zawierają kontrolki, to same też są kontrolkami, które podobnie jak inne kontrolki mają właściwości i formuły. Gdy wybierzesz opcję wyświetlenia pola w formularzu, okienko po prawej stronie automatycznie tworzy kartę i generuje potrzebne formuły. Formuły są wyświetlane w okienku po prawej stronie na karcie Zaawansowane:

Zaawansowane zablokowane.

Od razu można zauważyć jedną z najważniejszych właściwości karty, którą jest właściwość DataField. Wskazuje ona, które pole źródła danych jest widoczne dla użytkownika oraz dostępne do edycji na tej karcie.

Górny baner na karcie Zaawansowane wskazuje, że właściwości tej karty są zablokowane. Ikona blokady jest także wyświetlana obok właściwości DataField, DisplayName i Required. Te formuły zostały utworzone w okienku po prawej stronie, a zastosowana blokada zapobiega przypadkowej zmianie właściwości.

Ikony blokowania.

Kliknij lub naciśnij górny baner, aby odblokować kartę w celu zmiany właściwości:

Nieodblokowana karta.

Zmodyfikujmy właściwość DisplayName, aby wstawić odstęp między wyrazami Asset i ID. Wprowadzenie tej modyfikacji spowoduje zmianę wygenerowanych danych. W okienku po prawej stronie ta karta ma inną etykietę:

Zmień wyświetlaną nazwę.

Teraz możemy już dokonywać niezbędnych zmian na karcie w celu dopasowania jej do naszych potrzeb. Nie możemy jednak zmienić sposobu przedstawiania karty (na przykład z tekstu jednowierszowego na tekst wielowierszowy), jak to było możliwe wcześniej. Wstępnie zdefiniowana karta została przekształcona na „kartę niestandardową”, nad którą mamy kontrolę.

Ważne

Po odblokowaniu karty nie można jej ponownie zablokować. Aby ponownie zablokować kartę, usuń ją i ponownie wstaw w okienku po prawej stronie.

Wygląd i zachowanie odblokowanej karty można zmieniać na różne sposoby, między innymi dodając i usuwając zawarte w niej kontrolki. Można na przykład dodać kształt gwiazdki z menu Ikony na karcie Wstawianie.

Dodaj gwiazdkę.

Gwiazdka będzie od teraz częścią karty i będzie przemieszczać się wraz z nią, jeśli na przykład zmienisz kolejność kart w formularzu.

Inny przykład: odblokuj kartę ImageURL, a następnie z karty Wstawianie dodaj do niej kontrolkę Obraz:

Dodaj obraz.

Na pasku formuły ustaw właściwość Obraz tej kontrolki na TextBox.Text, gdzie TextBox jest nazwą kontrolki Wprowadzanie tekstu zawierającej adres URL:

Pokaż obraz.

Teraz obrazy są już wyświetlane i można edytować ich adresy URL. Moglibyśmy użyć właściwości Parent.Default jako właściwości Image , ale nie zostałaby ona zaktualizowana, jeśli użytkownik zmienił adres URL.

To samo można zrobić na drugim ekranie aplikacji, gdzie kontrolka Formularz wyświetlania jest używana do wyświetlania szczegółów rekordu. W takim przypadku warto ukryć etykietę (ustawić właściwość Visible etykiety, nie karty, na wartość false), ponieważ użytkownik nie będzie edytował adresu URL na tym ekranie:

Pokaż wyświetlanie obrazu.

Interakcja z formularzem

Po odblokowaniu karty można zmienić sposób jej interakcji z formularzem, który ją zawiera.

Poniżej przedstawiono wskazówki dotyczące współpracy kontrolek z kartami oraz kart z formularzem. Te wskazówki pomagają zrozumieć, jak tworzyć formuły odwołujące się do innych kontrolek, w tym kart i kontrolek na kartach. Wykaż się kreatywnością — możesz utworzyć aplikację na wiele sposobów, aby dopasować ją do swoich potrzeb.

Właściwość DataField

Właściwość DataField ma kluczowe znaczenie dla karty. Steruje ona walidacją, określaniem pola do zaktualizowania i innymi aspektami karty.

Informacje przychodzące

Jako kontener formularz udostępnia operator ThisItem wszystkim swoim kartom. Ten rekord zawiera wszystkie pola w ramach bieżącego rekordu.

Właściwość Default dla wszystkich kart powinna mieć wartość ThisItem.FieldName. W niektórych przypadkach ta wartość może zostać przekształcona w miarę jej pojawiania się. Można na przykład sformatować ciąg lub przetłumaczyć wartość na inny język.

Każda kontrolka w obrębie karty powinna odwoływać się do elementu Parent.Default w celu uzyskania wartości pola. Ta strategia hermetyzuje kartę, umożliwiając zmianę właściwości Default karty bez wpływu na jej wewnętrzne formuły.

Domyślnie właściwości DefaultValue i Required są uzyskiwane z metadanych źródła danych w oparciu o właściwość DataField. Te formuły można zastąpić za pomocą własnej logiki, integrując metadane źródła danych za pomocą funkcji DataSourceInfo.

Informacje wychodzące

Po zmodyfikowaniu rekordu przez użytkownika za pomocą kontrolek w obrębie kart funkcja SubmitForm zapisuje wprowadzone zmiany w źródle danych. Po uruchomieniu tej funkcji kontrolka formularza odczytuje wartości właściwości DataField każdej karty w celu ustalenia, które pole ma zostać zmienione.

Kontrolka formularza odczytuje również wartość właściwości Update każdej karty. Ta wartość zostanie zapisana w źródle danych tego pola. W tym miejscu można zastosować kolejne przekształcenie, które może polegać na odwróceniu przekształcenia zastosowanego w formule Default karty.

Właściwość Valid jest uzyskiwana z metadanych źródła danych w oparciu o właściwość DataField. Opiera się również na właściwości Required i informacji o tym, czy właściwość Update zawiera wartość. Jeśli wartość właściwości Update jest nieprawidłowa, właściwość Error wyświetla przyjazny dla użytkownika komunikat o błędzie.

Jeśli właściwość DataField karty jest pusta, oznacza to, że karta jest wyłącznie kontenerem kontrolek. Właściwości Valid i Update nie są używane podczas przesyłania formularza.

Analiza przykładu

Przyjrzyjmy się kontrolkom, które tworzą podstawową kartę wprowadzania danych. Odstęp między kontrolkami został zwiększony, aby pokazać je wyraźniej, co pomaga zrozumieć, w jaki sposób każdy składnik przyczynia się do funkcjonalności karty:

Karta Dissect.

W tej grafice kontrolki na karcie danych zostały opatrzone etykietami:

Karty Dissect.

Karta zawiera cztery kontrolki:

Imię i nazwisko Typ Opis
TextRequiredStar Label (kontrolka) Wyświetla gwiazdkę, która jest powszechnie używana w formularzach wprowadzania danych, aby wskazać, że pole jest wymagane.
TextFieldDisplayName Label (kontrolka) Wyświetla przyjazną dla użytkownika nazwę pola. Ta nazwa może różnić się od nazwy w schemacie źródła danych.
InputText Wprowadzanie tekstu (kontrolka) Wyświetla wartość początkową pola i pozwala użytkownikowi zmienić tę wartość.
TextErrorMessage Label (kontrolka) Wyświetla przyjazny dla użytkownika komunikat o błędzie w przypadku wystąpienia problemu z walidacją. Zapewnia również, że pole ma wartość, jeśli jest ona wymagana.

Aby wypełnić te kontrolki danymi, ich właściwości mogą opierać się na właściwościach karty za pośrednictwem tych kluczowych formuł. Należy zwrócić uwagę, że formuły odwołują się do określonego pola. Wszystkie informacje pochodzą z karty.

Właściwość kontrolki Formuła Opis
TextRequiredStar.Visible Parent.Required Gwiazdka jest wyświetlana tylko wtedy, gdy pole jest wymagane. Wymagana jest formuła wprowadzona przez użytkownika lub uzyskana na podstawie metadanych źródła danych.
TextFieldDisplayName.Text Parent.DisplayName Kontrolka pola tekstowego wyświetla nazwę przyjazną dla użytkownika, która została wprowadzona przez Ciebie lub uzyskana z metadanych źródła danych oraz została ustawiona za pomocą właściwości DisplayName karty.
InputText.Default Parent.Default Kontrolka wprowadzania tekstu początkowo wyświetla wartość pola ze źródła danych zgodną z wartością domyślną karty.
TextErrorMessage.Text Parent.Error W przypadku wystąpienia problemu dotyczącego walidacji właściwość Error karty zwraca odpowiedni komunikat o błędzie.

Notatka

Właściwość Parent.Error jest właściwością związaną tylko z danymi wyjściowymi, której nie można ustawić za pomocą formuły. Z tego powodu ta właściwość nie będzie widoczna na liście właściwości w lewym górnym rogu narożnika ani na kartach Właściwości i Zaawansowane blisko prawej krawędzi. Pasek formuły sugeruje użycie tej właściwości podczas wpisywania formuł, które mogą odwoływać się do właściwości.

Aby pobrać dane z tych kontrolek i wypchnąć je z powrotem do źródła danych, stosowane są następujące formuły kluczowe:

Nazwa formantu Formuła Opis
DataCard.DataField "ApproverEmail" Nazwa pola, które użytkownik może wyświetlić i edytować na tej karcie.
DataCard.Update InputText.Text Wartość wymagająca walidacji i wypchnięcia z powrotem do źródła danych po uruchomieniu funkcji SubmitForm.