Tworzenie galerii zamówień w aplikacji kanwy

Postępuj zgodnie z instrukcjami krok po kroku, aby utworzyć galerię zamówień w aplikacji kanwy w celu zarządzania fikcyjnymi danymi w bazie danych Northwind Traders. Ta temat jest częścią szeregu wyjaśniającej sposób tworzenia aplikacji biznesowej na relacyjnych danych w Microsoft Dataverse. Aby uzyskać najlepsze wyniki, w tej kolejności należy zapoznać się z następującymi tematami:

  1. Utwórz galerię zamówień (ten temat).
  2. Tworzenie formularza podsumowania.
  3. Tworzenie galerii szczegółów.

Definicje obszarów ekranu.

Wymagania wstępne

Tworzenie pustej aplikacji

Utwórz pustą aplikację kanwy i nadaj jej nazwę, na przykład „Moje zamówienia Northwind (aplikacja kanwy)”.

Dodawanie danych

  1. W lewym okienku wybierz pozycję Dane > Dodaj dane > i wybierz tabelę Zamówienia .

    Wybierz opcję Wyświetl, Źródła danych, Dodaj źródło danych.

    Tabela Zamówienia zawiera wiele pól różnego typu:

    Lista pól w tabeli Zamówienia.

    Każde pole ma Nazwę wyświetlaną i Nazwę, która jest również nazywana nazwą logiczną. Obie nazwy odwołują się do tych samych rzeczy. Ogólnie użytkownik korzysta z nazwy wyświetlanej podczas tworzenia aplikacji, ale w niektórych przypadkach wymagana jest bardziej tajemnicza Nazwa, jak przedstawiono w procedurze.

  2. Ponieważ dalej będziemy pracować z ekranami i kontrolkami, w Power Apps Studio przełącz się z powrotem do Widoku drzewa po lewej stronie, naciskając ikonę trzech ułożonych kwadratów. W dowolnym momencie możesz powrócić do Źródeł danych, naciskając ikonę cylindra.

  1. Na karcie Wstawianie wybierz Galeria > Pusta pionowa, aby dodać kontrolkę Galeria, w której będą wyświetlane zamówienia.

    Wstaw, Galeria, Pusta pionowa.

    Kontrolka zostanie umieszczona na kanwie i pojawi się okno dialogowe z pytaniem, z którym źródłem danych się połączyć.

  2. Można połączyć się bezpośrednio z Zamówieniami, ale zamiast tego chcemy kontrolować kolejność sortowania galerii. Zignoruj wysuwane okno dialogowe i na pasku formuły ustaw właściwość galerii Elementy na tę formułę:

    Sort( Orders, 'Order Number', Descending )
    

    Funkcja Sortuj porządkuje listę tak, że najnowsze zamówienie (o najwyższym numerze zamówienia) jest wyświetlane jako pierwsze.

    Sortowanie zamówień w galerii.

  3. Po upływie tego momentu Widok wyniku zostanie wyświetlony pod paskiem formuły. Pociągnij w dół strzałkę po lewej, aby zobaczyć wynik naszej formuły. Przewiń w prawo, aby wyświetlić kolumnę Numer zamówienia i upewnić się, że wartość jest posortowana w żądany sposób (od największego do najmniejszego).

    Ustawianie właściwości Elementy w galerii.

  4. Na karcie Właściwości znajdującej się blisko prawej krawędzi otwórz listę Układu:

    Lista opcji układu.

  5. Z listy opcji wybierz Tytuł i podtytuł.

    Wybieranie układu.

    Dwie kontrolki Etykiety zostały dodane do szablonu galerii. Domyślnie w tych formantach są wyświetlane dwie kolumny tabeli Zamówienia, którą trzeba będzie zmienić dalej. Szablon galerii jest replikowany w sposób pionowy dla każdego rekordu w tabeli.

  6. Wybierz Edytuj (obok Pola) na karcie Właściwości obok prawej krawędzi.

    Wybierz edycję, aby zaktualizować pola.

  7. W okienku Dane wybierz pozycję Title1 (lub wybierz górną etykietę w szablonie galerii).

  8. Na pasku formuły ustaw właściwość Tekst etykiety na wyrażenie:

    "Order " & ThisItem.'Order Number'
    

    Ustaw właściwość Tekstu etykiety tytułu.

    Numer zamówienia jest wyświetlany w górnej części każdego elementu galerii. W szablonie galerii ThisItem daje dostęp do wszystkich pól w tabeli Zamówienie.

  9. W okienku Dane wybierz pozycję Subtitle1 (lub wybierz dolną etykietę w szablonie galerii):

    Wybieranie etykiety podtytułu.

  10. Na pasku formuły ustaw właściwość Tekst etykiety na wyrażenie:

    ThisItem.Customer.Company
    

    Ustaw właściwość Tekstu etykiety podtytułu.

    Po wprowadzeniu tej formuły może na chwilę pojawić się czerwony zawijas oznaczający błąd. Błąd powinien zostać usunięty, jeśli wybierzesz coś poza paskiem formuły, a następnie powrócisz kursorem do paska formuły. Jeśli błąd występuje nadal lub gdy nie jest widziana wartość, wybierz kartę Widok, wybierz źródła danych, a następnie odśwież tabelę Zamówienia, wybierając wielokropek (...) po prawej stronie nazwy źródła danych.

    Podanie wartości ThisItem.Customer pozwala na korzystanie z relacji wiele-do-jednego między tabelami Zamówienia i Klienci i pobieranie rekordu klienta skojarzonego z każdym zamówieniem. W rekordzie klienta pobierasz dane z kolumny Firma celu wyświetlenia.

    W tabeli Zamówienia można wyświetlić wszystkie relacje, w tym także tabelę Klient:

    Lista relacji.

  11. Zamknij okienko Dane, wybierając ikonę zamknięcia (x) w prawym górnym rogu.

Wyświetlanie stanu poszczególnych zamówień

W ramach tej procedury dodasz obszar w galerii dla etykiety i skonfigurujesz go tak, aby były wyświetlane informacje o wszystkich zamówieniach w różnych kolorach na podstawie danych.

  1. W szablonie galerii zmniejsz szerokość pierwszej etykiety, Title1:

    Title1 w szablonie galerii.

  2. Powtórz poprzedni krok, podając drugą etykietę, Subtitle1:

    Subtitle1 w szablonie galerii.

  3. Z wybranym szablonem galerii (lub formantem w szablonie) wybierz Etykieta na karcie Wstawianie:

    Dodaj etykietę.

  4. Przenieś nową etykietę na prawo od etykiety Title1:

    Przenoszenie i zmienianie rozmiaru etykiety.

  5. Ustaw właściwość Tekst kontrolki nowej etykiety na następujące wyrażenie:

    ThisItem.'Order Status'
    

    Ustawianie właściwości Tekst.

    W tabeli Zamówienia pole Stan zamówienia zawiera wartość z wybranego Stanu zamówienia. Wybór jest podobny do wyliczenia w innych narzędziach programowania. Każdy zestaw opcji jest definiowany w bazie danych, dzięki czemu użytkownicy mogą określać tylko te opcje w zestawie. Wybór Stanu zamówień jest także globalny, nie lokalny, więc można go użyć w innych tabelach:

    Wybór statusu zamówienia.

    Każda opcja w zestawie ma nazwę, która jest wyświetlana w przypadku pokazania jej na etykiecie. Te nazwy mogą być zlokalizowane, a aplikacja rozpoznaje tę samą opcję, jeśli użytkownik będzie wybierał Apple, użytkownik francuski wybiera wartość Pomme lub użytkownik w wersji hiszpańskiej Manzana. Z tego powodu nie można utworzyć formuły, która opiera się na zapisanym na ciągu ze stałym kodem do opcji, jak pokazano w tym temacie później.

    W formułach Stan zamówienia musi być otoczony pojedynczym cudzysłowem, ponieważ zawiera spację. Jednak ta nazwa działa w taki sam sposób jak każda inna nazwa w Power Apps (np. Klient lub Firma).

  6. Na karcie Strona główna zwiększ rozmiar czcionki w etykiecie stanu do 20 punktów i wyrównaj tekst w prawo:

    Zmiana rozmiaru czcionki i wyrównania.

  7. W pasku formuły ustaw właściwość Kolor etykiety stanu na tę formułę:

    Switch( ThisItem.'Order Status',
        'Orders Status'.Closed, Green,
        'Orders Status'.New, Black,
        'Orders Status'.Invoiced, Blue,
        'Orders Status'.Shipped, Purple
    )
    

    Ustawianie właściwości Koloru etykiety stanu.

    Power Apps uniemożliwia utworzenie formuły, która opiera się na ciągu ze stałym kodem dla każdej opcji w zestawie, ponieważ takie formuły mogą powodować niewłaściwe wyniki, jeśli nazwy opcji są zlokalizowane. Zamiast tego funkcja Switch określa kolor na podstawie dowolnego ciągu występującego na etykiecie na podstawie ustawień użytkownika.

    W przypadku tej formuły różne wartości stanu są wyświetlane w różnych kolorach, tak jakpokazano na poprzedniej ilustracji.

Wyświetlanie sumy wszystkich zamówień

  1. Zaznacz pierwszy element w galerii, który jest szablonem galerii:

    Wybierz szablon galerii.

  2. Na karcie Wstawianie wybierz pozycję Etykieta, aby dodać kolejną etykietę:

    Dodaj kolejną etykietę.

  3. Przenieś nową etykietę tak, aby została wyświetlona na etykiecie stanu:

    Zmień rozmiar i przenieś nową etykietę.

  4. Na pasku formuły ustaw właściwość Tekst nowej etykiety na formułę:

    Text( Sum( ThisItem.'Order Details', Quantity * 'Unit Price' ), "[$-en-US]$ #,###.00" )
    

    Formuła obliczania kosztu całkowitego zamówienia.

    W tej formule funkcja Sum dodaje rekordy w tabeli Szczegóły zamówienia, które są skojarzone z każdym rekordem w tabeli Zamówienia poprzez relację jeden-do-wielu. Te elementy zamówienia składają się na każde zamówienie, a będziesz używać tej samej relacji jeden do wielu, aby wyświetlać i edytować elementy zamówienia w prawym dolnym rogu ekranu.

    W tym wzorze jest wyświetlane ostrzeżenie z niebieskim podkreśleniem i ostrzeżenie delegacji, ponieważ Dataverse nie obsługuje delegowania złożonych funkcji agregujących (na przykład suma mnożenia). Te informacje można zignorować, ponieważ żadne zamówienie w tym przykładzie nie będzie zawierać więcej niż 500 wierszy pozycji. Jeśli jest to konieczne w przypadku innej aplikacji, można zwiększyć ten limit w Ustawieniach aplikacji.

    Funkcja Tekst w tej formule dodaje symbol waluty i formatuje wyniki w postaci separatorów tysięcy i dziesiętnych. Jak zapisano, formuła zawiera znacznik języka dla amerykańskiej odmiany języka angielskiego ([$-en-US]) i symbol dolara ($). eśli znacznik języka został usunięty, zostanie zastąpiony innym w oparciu o ustawienia języka, a na etykiecie będą wyświetlane odpowiednie formaty dla tego tagu. W przypadku pozostawienia symbolu dolara, etykieta będzie zawierać odpowiedni symbol waluty na podstawie ustawień użytkownika. Można jednak wymusić wyświetlanie innego symbolu, zastępując symbol dolara preferowanym.

  5. Na karcie Strona główna zmień rozmiar czcionki w najnowszej etykiecie stanu do 20 punktów i wyrównaj tekst w prawo:

    Zmiana rozmiaru czcionki i wyrównania etykiety.

  6. Przesuń galerię do lewej krawędzi ekranu i zmniejsz szerokość galerii, aby odciąć przestrzeń.

  7. Zwiększ wysokość galerii tak, aby była prawie tak wysokia jak ekran, ale w górnej części pozostaw odrobinę miejsca na pasek tytułu, który dodasz na początku następnego tematu:

    Przenieś i zmień rozmiar galerii.

Podsumowanie

Podsumowując, zacząłeś budować aplikację kanwy z jedym ekranem, dodając galerię zamówień, co zawierało następujące elementy:

  • Wyrażenie umożliwiające pokazanie numeru zamówienia: "Orders " & ThisItem.OrderNumber
  • Pole w relacji wiele-do-jednego: ThisItem.Customer.Company
  • Etykieta, która zawiera nazwę opcji w zestawie: ThisItem.'Order Status'
  • Etykieta, która zmienia format w zależności od opcji w zestawie, etykieta pokazuje: Switch( ThisItem.'Order Status', 'Orders Status'.Closed, Green, ...
  • Złożona funkcja agregowania w relacji jeden-do-wielu: Sum( ThisItem.'Order Details', Quantity * 'Unit Price' )

Następny temat

W następnym temacie dodasz kontrolkę Formularz edycji w celu wyświetlenia i zmodyfikowania podsumowania wszystkich zamówień wybranych przez użytkownika w galerii, która została właśnie utworzona.

Uwaga

Czy możesz poinformować nas o preferencjach dotyczących języka dokumentacji? Wypełnij krótką ankietę. (zauważ, że ta ankieta jest po angielsku)

Ankieta zajmie około siedmiu minut. Nie są zbierane żadne dane osobowe (oświadczenie o ochronie prywatności).