Sdílet prostřednictvím


Vytvoření galerie objednávek v aplikaci plátna

Postupujte podle podrobných pokynů a vytvořte galerii objednávek v aplikaci plátna pro správu fiktivních dat v databázi Northwind Traders. Toto téma je součástí série, která vysvětluje, jak vytvořit obchodní aplikaci na relačních datech v Microsoft Dataverse. Chcete-li dosáhnout nejlepších výsledků, prozkoumejte tato témata v tomto pořadí:

  1. Vytvořte galerii objednávek (toto téma).
  2. Vytvořit souhrnný formulář.
  3. Vytvoření galerie podrobností.

Definice oblastí obrazovky.

Požadavky

Vytvoření prázdné aplikace

Vytvořte prázdnou aplikaci plátna a pojmenujte ji například „Moje objednávky Northwind (aplikace Canvas)“.

Přidání dat

  1. V levém podokně vyberte Data > Přidat data > vyhledejte a vyberte tabulku Objednávky.

    Vyberte Zobrazení, Zdroje dat, Přidat zdroj dat.

    Tabulka Objednávky obsahuje mnoho polí různých typů:

    Seznam polí obsažených v tabulce Objednávky.

    Každé pole má Zobrazované jméno a Název, který se někdy nazývá logický název. Oba názvy odkazují na stejnou věc. Obecně budete při vytváření aplikace používat zobrazované jméno, ale v některých případech je třeba použít více kryptický Název, jak je uvedeno v postupu.

  2. Jak budeme dále pracovat s obrazovkami a ovládacími prvky, v Power Apps Studio přepněte zpět na Stromové zobrazení na levé straně stisknutím ikony tří čtverců na sobě. Můžete se vrátit do Zdroje dat kdykoli stisknutím ikony válce.

  1. Na kartě Vložit vyberte Galerie > Prázdná vodorovná a přidejte ovládací prvek Galerie, který zobrazí objednávky.

    Vložit, Galerie, Prázdná vertikální.

    Ovládací prvek bude umístěn na plátno a zobrazí se dialogové okno s dotazem, ke kterému zdroj dat se chcete připojit.

  2. Mohli bychom to připojit přímo k Objednávkám zde, ale místo toho bychom chtěli kontrolovat řazení v galerii. Ignorujte dialogové okno a na liště vzorců nastavte vlastnost Items galerie podle tohoto vzorce:

    Sort( Orders, 'Order Number', Descending )
    

    Funkce Sort uspořádá seznam tak, aby se jako první objevila nejnovější objednávka (s nejvyšším číslem objednávky).

    Řazení objednávek v galerii.

  3. Po několika chvílích se pod výsledkovou lištou objeví zobrazení výsledků. Tažením dolů na šipku vlevo zobrazíte výsledek našeho vzorce. Posunutím doprava zobrazíte sloupec Číslo objednávky a ujistěte se, že je seřazen podle potřeby (od nejvyšší k nejnižší).

    Nastavení vlastnosti Items galerie.

  4. Na kartě Vlastnosti u pravého okraje otevřete seznam Rozložení:

    Seznam možností rozložení.

  5. V seznamu možností vyberte Název a titulek:

    Výběr rozložení.

    Dva ovládací prvky Popisek jsou přidány do šablony galerie. Ve výchozím nastavení tyto ovládací prvky zobrazují dva sloupce tabulky Objednávky, což dále změníte. Šablona galerie je svisle replikována pro každý záznam v tabulce.

  6. Na kartě Vlastnosti poblíž pravého okraje vyberte Upravit (Vedle Polí).

    Chcete-li aktualizovat pole, vyberte Upravit.

  7. V podokně Data vyberte Title1 (nebo vyberte horní popisek v šabloně galerie).

  8. Na liště vzorců nastavte vlastnost Text popisku na tento výraz:

    "Order " & ThisItem.'Order Number'
    

    Nastavit vlastnost Text popisku.

    Číslo objednávky se zobrazí v horní části každé položky galerie. V šabloně galerie prvek ThisItem uděluje přístup ke všem polím v tabulce Objednávky.

  9. V podokně Data vyberte Subtitle1 (nebo vyberte spodní popisek v šabloně galerie):

    Vyberte popisek titulků.

  10. Na liště vzorců nastavte vlastnost Text popisku na tento výraz:

    ThisItem.Customer.Company
    

    Nastavit vlastnost Text popisku titulků.

    Jakmile zadáte tento vzorec, může se na okamžik na chvíli zobrazit červená chybová vlnovka. Chyba by se měla vymazat, pokud vyberete něco mimo lištu vzorců a poté vrátíte kurzor na lištu vzorců. Pokud chyba přetrvává nebo nevidíte hodnotu, vyberte kartu Zobrazení, vyberte Zdroje dat a poté aktualizujte tabulku Objednávky výběrem trojtečky (...) napravo od názvu zdroje dat.

    Když zapíšete ThisItem.Customer, využíváte vztah typu N:1 mezi tabulkami Objednávky a Zákazníci a načítáte záznam zákazníka, který je přidružen ke každé objednávce. Ze záznamu zákazníků extrahujete data ve sloupci Společnost pro zobrazení.

    Můžete zobrazit všechny vztahy tabulky Objednávky k jiným tabulkám, včetně tabulky Zákazníci:

    Seznam vztahů.

  11. Vybráním ikony pro zavření (x) v pravém horním rohu podokno Data zavřete.

Zobrazit stav každé objednávky

V tomto postupu přidáte do galerie místo pro popisek a nakonfigurujete jej tak, aby zobrazoval stav každé objednávky v jiné barvě na základě dat.

  1. V šabloně galerie zmenšete šířku prvního popisku Title1:

    Title1 v šabloně galerie.

  2. Opakujte předchozí krok s druhým štítkem Subtitle1:

    Subitle1 v šabloně galerie.

  3. Vyberte šablonu galerie (nebo ovládací prvek v šabloně), vyberte Popisek na kartě Vložit:

    Přidání popisku.

  4. Přesuňte nový štítek napravo od popisku Title1:

    Přesunutí a změna velikosti popisku.

  5. Nastavte vlastnost Text nového popisku na tento výraz:

    ThisItem.'Order Status'
    

    Nastavte vlastnost Text.

    V tabulce Objednávky uchovává pole Stav objednávky hodnotu z volby Stav objednávek. Volba je podobná výčtu v jiných programovacích nástrojích. Každá sada možností je definována v databázi, takže uživatelé mohou specifikovat pouze ty možnosti, které jsou v sadě. Volba Stav objednávek je také globální, nikoli místní, takže ji můžete použít v jiných tabulkách:

    Volba Stav objednávek.

    Každá možnost v sadě má název, který se zobrazí, pokud ji zobrazíte v popisku. Tato jména lze lokalizovat a aplikace rozpozná stejnou možnost, ať už si vybere anglický uživatel Apple, francouzský uživatel Pomme nebo španělský uživatel Manzana. Z tohoto důvodu nemůžete vytvořit vzorec, který by se opíral o pevně kódovaný řetězec pro danou možnost, jak ukazuje toto téma později.

    Ve vzorcích musíte Stav objednávky dát do jednoduchých uvozovek, protože obsahuje mezeru. Toto jméno však funguje stejně jako jakékoli jiné jméno v Power Apps, jako například Zákazník nebo Společnost.

  6. Na kartě Domů zvětšete velikost písma stavového štítku na 20 bodů a zarovnejte text vpravo:

    Změňte velikost a zarovnání písma.

  7. V liště vzorců nastavte vlastnost Barva stavového popisku podle tohoto vzorce:

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

    Nastavte vlastnost Barva na stavovém popisku.

    Power Apps vám neumožňuje vytvořit vzorec, který se spoléhá na pevně kódovaný řetězec pro každou možnost v sadě, protože takové vzorce by mohly vést k nevhodným výsledkům, pokud budou názvy možností lokalizovány. Místo toho funkce Switch určí barvu podle toho, jaký řetězec se objeví v popisku na základě nastavení uživatele.

    S tímto vzorcem na místě se různé hodnoty stavu zobrazují v různých barvách, jak ukazuje předchozí obrázek.

Zobrazit součet každé objednávky

  1. Vyberte první položku v galerii, která je šablonou galerie:

    Výběr šablony galerie.

  2. Na kartě Vložit vyberte Popisek pro přidání dalšího popisku:

    Přidání dalšího popisku.

  3. Přesuňte nový popisek tak, aby se objevil pod popiskem stavu:

    Změňte velikost a přesuňte nový popisek.

  4. Na liště vzorců nastavte vlastnost Text nového popisku na tento vzorec:

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

    Vzorec pro výpočet celkových nákladů na objednávku.

    V tomto vzorci funkce Sum sčítá záznamy v tabulce Podrobnosti objednávky, které jsou přidruženy k záznamům v tabulce Objednávky prostřednictvím vztahu 1:N. Tyto řádkové položky tvoří každou objednávku a pro zobrazení a úpravu řádkových položek v pravé dolní části obrazovky použijete stejný vztah 1:N.

    Tento vzorec ukazuje modré podtržení a varování delegování, protože Dataverse nepodporuje delegování komplexních agregovaných funkcí (například součet násobení). Tyto informace můžete ignorovat, protože žádná objednávka v tomto příkladu nebude obsahovat více než 500 řádkových položek. Pokud je to nutné pro jinou aplikaci, můžete tento limit zvýšit v Nastavení aplikace.

    Funkce Text v tomto vzorci přidá symbol měny a výsledek formátuje pomocí oddělovačů tisíců a desetinných míst. Jak je napsáno, vzorec obsahuje jazykovou značku pro americkou angličtinu ([$-en-US]) a symbol dolaru ($). Pokud jazykovou značku odeberete, bude nahrazena značkou podle nastavení jazyka a v popisku se zobrazí příslušné formáty této značky. Pokud symbol dolaru opustíte, popisek zobrazí odpovídající symbol měny podle nastavení uživatele. Můžete však vynutit zobrazení jiného symbolu nahrazením symbolu dolaru tím, který preferujete.

  5. Na kartě Domů změňte velikost písma nejnovějšího štítku na 20 bodů a zarovnejte text vpravo:

    Změňte velikost písma a zarovnání popisku.

  6. Přesuňte galerii k levému okraji obrazovky a zmenšete její šířku, aby se uzavřel nějaký prostor.

  7. Zvětšete výšku galerie tak, aby byla téměř stejně vysoká jako obrazovka, ale ponechejte malou část v horní části pro záhlaví, kterou přidáte na začátek příštího téma:

    Přesuňte a upravte velikost galerie.

Souhrn

Abychom to shrnuli, začali jste vytvářet aplikaci plátna pro jednu obrazovku přidáním galerie objednávek, která obsahuje tyto prvky:

  • Výraz pro zobrazení čísla objednávky: "Orders " & ThisItem.OrderNumber
  • Pole ve vztahu N:1: ThisItem.Customer.Company
  • Popisek, který zobrazuje název možnosti v sadě: ThisItem.'Order Status'
  • Popisek, který mění formát podle toho, z které možnosti v sadě se popisek zobrazí: Switch( ThisItem.'Order Status', 'Orders Status'.Closed, Green, ...
  • Složitá agregovaná funkce nad vztahem 1:N: Sum( ThisItem.'Order Details', Quantity * 'Unit Price' )

Další téma

V dalším tématu přidáte ovládací prvek Upravit formulář pro zobrazení a úpravu souhrnu objednávky, kterou uživatel vybere v galerii, kterou jste právě vytvořili.

Poznámka

Můžete nám sdělit, jaké máte jazykové preference pro dokumentaci? Zúčastněte se krátkého průzkumu. (upozorňujeme, že tento průzkum je v angličtině)

Průzkum bude trvat asi sedm minut. Nejsou shromažďovány žádné osobní údaje (prohlášení o zásadách ochrany osobních údajů).