Nové ovládací prvky Zobrazit formulář a Upravit formulář v Power Apps
Zobrazení, úpravy a vytváření záznamu ve zdroji dat
Popis
Pokud přidáte ovládací prvek Zobrazit formulář, může uživatel zobrazit všechna pole záznamu, nebo pouze pole, které zadáte. Pokud přidáte ovládací prvek Upravit formulář, uživatel bude moct tato pole upravovat, vytvořit záznam a změny uložit do zdroje dat.
Pokud přidáte ovládací prvek Galerie, můžete ho nakonfigurovat tak, aby zobrazil tabulku ve zdroji dat, a pak nastavit formulář tak, aby zobrazil záznam, který uživatel v galerii vybral. Můžete také přidat ovládací prvky Tlačítko, které budou uživateli sloužit k uložení úprav, zrušení úprav a k vytvoření záznamu. Použitím všech těchto ovládacích prvků můžete vytvořit kompletní řešení.
Omezení
Ovládací prvek Formulář má tato omezení:
- Formuláře nelze kopírovat a vkládat do datových karet. Tím se zabrání vytvoření určitých kombinací ovládacích prvků, které ohrožují stabilitu a výkon aplikace.
Výběr záznamu
Pro oba typy formulářů nastavte vlastnost DataSource na tabulku záznamů a vlastnost formuláře Item nastavte tak, aby zobrazovala konkrétní záznam v této tabulce. Vlastnost formuláře Item můžete například nastavit na vlastnost SelectedItem ovládacího prvku Galerie. Když uživatel vybere záznam v galerii, zobrazí se stejný záznam ve formuláři. Formulář ale může zobrazit více polí. Když se uživatel vrátí do galerie a vybere jiný záznam, vlastnost galerie SelectedItem se změní. Tato změna aktualizuje vlastnost formuláře Item, která zobrazí nově vybraný záznam.
Vlastnost formuláře Item můžete také nastavit pomocí ovládacího prvku Rozevírací nabídka, jak popisuje článek Zobrazení, úprava nebo přidání záznamu, nebo pomocí funkce jako Lookup nebo First. Můžete třeba nastavit vlastnost Item na některý z těchto vzorců, aby se zobrazil záznam Fabrikam v tabulce Účty v Microsoft Dataverse:
First(Accounts)
Lookup(Accounts, "Fabrikam" in name)
Každý ovládací prvek Form obsahuje jeden nebo více ovládacích prvků Karta. Nastavením vlastnosti karty DataField určíte, které pole bude karta zobrazovat, a další podrobnosti.
Vytvoření záznamu
Když je ovládací prvek Upravit formulář v režimu Edit, může uživatel upravovat záznam, který je uvedený ve vlastnosti formuláře Item. Při kontrole vrátí vlastnost Mode hodnotu Edit.
Pokud je ale ovládací prvek Upravit formulář v režimu New, vlastnost Item je ignorována. Formulář nezobrazí existující záznam. Místo toho budou hodnoty v jednotlivých polích odpovídat výchozím hodnotám ve zdroji dat, se kterými jste formulář nakonfigurovali. Funkce NewForm způsobí, že se formulář přepne do tohoto režimu.
Můžete třeba nastavit vlastnost tlačítka Text na New a vlastnost OnSelect na vzorec, který zahrnuje funkci NewForm. Když uživatel vybere toto tlačítko, formulář se přepne do režimu New a uživatel bude moct vytvořit záznam, kde budou předvyplněné známé hodnoty.
Formulář se přepne zpět do režimu Edit, pokud se spustí úspěšně buď funkce ResetForm, nebo funkce SubmitForm.
- Můžete nastavit vlastnost tlačítka Text na Cancel (Zrušit) a vlastnost OnSelect na vzorec, který zahrnuje funkci ResetForm. Když uživatel vybere toto tlačítko, všechny změny se zahodí a hodnoty ve formuláři budou znovu odpovídat výchozím hodnotám ve zdroji dat.
- Můžete nastavit vlastnost tlačítka Text na Save changes (Uložit změny) a vlastnost OnSelect na vzorec, který zahrnuje funkci SubmitForm. Když uživatel vybere toto tlačítko, zdroj dat se aktualizuje a ve formuláři se obnoví výchozí hodnoty zdroje dat.
Uložení změn
Když podle výše uvedeného postupu vytvoříte tlačítko Save changes, uživatel bude moct vytvořit nebo aktualizovat záznam a výběrem tohoto tlačítka tyto změny uložit do zdroje dat. K provedení této akce ale můžete nakonfigurovat i jiný ovládací prvek, například Obrázek. Stačí, když bude mít nakonfigurovanou funkci SubmitForm. Pokud by se vyskytl problém, můžete chybu odhalit pomocí vlastností Error, ErrorKind, OnSuccess a OnFailure.
Po spuštění funkce SubmitForm dojde nejprve k ověření dat, která chce uživatel odeslat. Pokud chybí hodnota pro povinné pole nebo některé zadání nevyhovuje omezením, nastaví se vlastnosti ErrorKind a spustí se vzorec OnFailure. Tlačítko Uložit změny nebo jiný ovládací prvek můžete nakonfigurovat tak, aby ho mohl uživatel vybrat pouze v případě, že jsou všechna data platná (tedy když má vlastnost formuláře Valid hodnotu true). Uživatel musí opravit chyby ve formuláři a potom znovu vybrat tlačítko Save changes, nebo zahodit změny zvolením tlačítka Cancel (toto tlačítko je popsáno výše). Tím se resetují vlastnosti Error a ErrorKind.
Když data úspěšně projdou ověřením, metoda SubmitForm je odešle do zdroje dat. To může chvíli trvat v závislosti na latenci sítě.
- Pokud odeslání proběhne úspěšně, vlastnost Error se vymaže, vlastnost ErrorKind se nastaví na ErrorKind.None a spustí se vzorec OnSuccess. Pokud uživatel vytvořil záznam (tj. formulář byl v režimu New), přepne se režim formuláře na Edit a uživatel bude moct tento nebo jiný záznam upravit.
- Pokud odesílání selže, vlastnost Error zobrazí popisnou chybovou zprávu ze zdroje dat s vysvětlením problému. V závislosti na problému se nastaví vlastnost ErrorKind a spustí se vzorec OnFailure.
Některé zdroje dat poznají, když se dva uživatelé pokoušejí aktualizovat současně stejný záznam. V takovém případě se vlastnost ErrorKind nastaví na ErrorKind.Conflict a řešením je aktualizovat zdroj dat změnami druhého uživatele a potom znovu odeslat změny provedené tímto uživatelem.
Tip
Pokud na formulář umístíte tlačítko Cancel, aby mohl uživatel zahodit prováděné změny, přidejte k vlastnosti tlačítka OnSelect funkci ResetForm, i když tato vlastnost už obsahuje funkci Navigate pro změnu obrazovky. Bez přidání této funkce by formulář stále obsahoval změny uživatele.
Rozložení
Ve výchozím nastavení se karty umísťují v případě telefonních aplikací do jednoho sloupce a v případě aplikací pro tablet do tří sloupců. Při konfiguraci formuláře můžete určit počet sloupců a zda se k nim karty mají přichytit. Tato nastavení nejsou samostatnými vlastnostmi, slouží pouze k nastavení vlastností karet X, Y a Width.
Další informace najdete v tématu Principy rozložení datových formulářů.
Základní vlastnosti
DataSource – zdroj dat obsahující záznam, který chce uživatel zobrazit, upravit nebo vytvořit
- Pokud tuto vlastnost nenastavíte, uživatel nebude moct zobrazit, upravit ani vytvořit záznam a nebudou k dispozici žádné další metadata ani ověření.
DefaultMode – počáteční režim ovládacího prvku formuláře. Povolené hodnoty a jejich vysvětlení najdete níže v popisu vlastnosti Mode.
DisplayMode – režim, který se použije pro datové karty a ovládací prvky v ovládacím prvku formuláře
Jsou odvozené od vlastnosti Mode a nelze je nastavovat samostatně:
Režim | DisplayMode | Popis |
---|---|---|
FormMode.Edit | DisplayMode.Edit | Datové karty a ovládací prvky lze upravovat, umožňuje provádět změny v záznamu. |
FormMode.New | DisplayMode.Edit | Datové karty a ovládací prvky lze upravovat, umožňuje vytvořit nový záznam. |
FormMode.View | DisplayMode.View | Datové karty a ovládací prvky nelze upravovat, optimalizováno pro prohlížení. |
Error – popisná chybová zpráva, která se zobrazí pro tento formulář, když selže funkce SubmitForm.
- Tato vlastnost se vztahuje pouze na ovládací prvek Upravit formulář.
- Tato vlastnost se změní pouze při spuštění funkce SubmitForm, EditForm nebo ResetForm.
- Pokud nenastane žádná chyba, zůstane tato vlastnost prázdná a ErrorKind se nastaví na ErrorKind.None.
- Vrácená chybová zpráva bude pokud možno v jazyce uživatele. Některé chybové zprávy pocházejí přímo ze zdroje dat a v jazyce uživatele být nemusí.
ErrorKind – typ chyby, pokud při spuštění funkce SubmitForm k nějaké chybě došlo
- Vztahuje se pouze na ovládací prvek Upravit formulář.
- Tato vlastnost má stejný výčet jako funkce Errors. Ovládací prvek Upravit formulář může vracet tyto hodnoty:
ErrorKind | Popis |
---|---|
ErrorKind.Conflict | Jiný uživatel změnil stejný záznam a výsledkem je konflikt změn. Spuštěním funkce Refresh znovu načtěte záznam a zkuste změnu provést znovu. |
ErrorKind.None | Chyba je neznámého typu. |
ErrorKind.Sync | Zdroj dat ohlásil chybu. Další informace obsahuje vlastnost Error. |
ErrorKind.Validation | Byla zjištěna obecná chyba ověření. |
Item – záznam ve vlastnosti DataSource, který chce uživatel zobrazit nebo upravit
LastSubmit – poslední úspěšně odeslaný záznam, včetně všech polí generovaných serverem
- Tato vlastnost se vztahuje pouze na ovládací prvek Upravit formulář.
- Pokud zdroj dat automaticky generuje nebo vypočítává některá pole, například pole ID s jedinečným číslem, bude mít vlastnost LastSubmit po úspěšném spuštění funkce SubmitForm tuto novou hodnotu.
- Hodnota této vlastnosti je k dispozici ve vzorci OnSuccess.
Mode – ovládací prvek je v režimu Edit nebo New.
Režim | Popis |
---|---|
FormMode.Edit | Uživatel může pomocí formuláře upravit záznam. Hodnoty na kartách ve formuláři jsou předvyplněné z existujícího záznamu a uživatel je může změnit. Pokud funkce SubmitForm proběhne úspěšně, existující záznam se aktualizuje. |
FormMode.New | Uživatel může pomocí formuláře vytvořit záznam. Hodnoty v ovládacích prvcích ve formuláři se předvyplní výchozími hodnotami pro záznam ze zdroje dat. Pokud funkce SubmitForm proběhne úspěšně, vytvoří se záznam. |
FormMode.View | Uživatel může prostřednictvím formuláře zobrazit záznam. Hodnoty v ovládacích prvcích ve formuláři se předvyplní výchozími hodnotami pro záznam ze zdroje dat. |
Formulář se přepne z režimu New do režimu Edit, pokud dojde k některé z těchto změn:
- Formulář je úspěšně odeslán a je vytvořen záznam. Pokud je galerie nastavena tak, aby automaticky přesunula výběr do tohoto nového záznamu, bude formulář pro vytvořený záznam v režimu Edit, aby uživatel mohl provést další změny.
- Spustí se funkce EditForm.
- Spustí se funkce ResetForm. Uživatel může například vybrat tlačítko Cancel, pro které byla tato funkce nakonfigurována.
OnFailure - Akce, které se mají provést, když byla datová operace neúspěšná.
- Tato vlastnost se vztahuje pouze na ovládací prvek Upravit formulář.
OnReset - Akce, které se mají provést, když je resetován ovládací prvek Upravit formulář.
- Tato vlastnost se vztahuje pouze na ovládací prvek Upravit formulář.
OnSuccess – Akce, které se mají provést, když je datová operace úspěšná.
- Tato vlastnost se vztahuje pouze na ovládací prvek Upravit formulář.
Unsaved – má hodnotu true, pokud ovládací prvek Upravit formulář obsahuje změny uživatele, které nebyly uloženy.
- Tato vlastnost se vztahuje pouze na ovládací prvek Upravit formulář.
- Pomocí této vlastnosti můžete uživatele upozornit na neuložené změny, které by mohly být ztraceny. Abyste předešli tomu, že uživatel v ovládacím prvku Galerie před uložením změn aktuálního záznamu vybere jiný záznam, nastavte vlastnost galerie Disabled na Form.Unsaved, abyste tak zabránili operacím obnovení.
Updates – hodnota pro zapsání zpět do zdroje dat pro záznam načtený do ovládacího prvku formuláře
- Tato vlastnost se vztahuje pouze na ovládací prvek Upravit formulář.
- Tuto vlastnost použijte k extrahování hodnot polí z karet v ovládacím prvku. Tyto hodnoty pak můžete použít k ruční aktualizaci zdroje dat zavoláním funkce Patch nebo jiné metody vystavené připojením. Tuto vlastnost nemusíte používat, pokud používáte funkci SubmitForm.
- Tato vlastnost vrátí záznam hodnot. Pokud například ovládací prvek Form obsahuje ovládací prvky karet pro pole Name a Quantity a hodnoty vlastností Update pro tyto karty vrátí hodnoty „Widget“ a „10“, pak vlastnost Updates pro ovládací prvek Form vrátí hodnotu { Name: "Widget", Quantity: 10 }.
Valid – určuje, zda ovládací prvek Karta nebo Upravit formulář obsahuje platné položky připravené k odeslání do zdroje dat
Tato vlastnost se vztahuje pouze na ovládací prvek Upravit formulář.
Vlastnost Valid ovládacího prvku Form agreguje vlastnosti Valid všech ovládacích prvků Karta ve formuláři. Vlastnost Valid formuláře má hodnotu true pouze v případě, že jsou data na všech kartách v tomto formuláři platná, v opačném případě má vlastnost formuláře Valid hodnotu false.
Pokud chcete povolit tlačítko pro uložení změn pouze v případě, že jsou data ve formuláři platná, ale dosud nebyla odeslána, nastavte vlastnost tlačítka DisplayMode na tento vzorec:
SubmitButton.DisplayMode = If(IsBlank( Form.Error ) || Form.Valid, DisplayMode.Edit, DisplayMode.Disabled)
Další vlastnosti
BorderColor – barva ohraničení ovládacího prvku.
BorderStyle – styl ohraničení ovládacího prvku Solid (Plné), Dashed (Čárkované), Dotted (Tečkované) nebo None (Žádné).
BorderThickness – tloušťka ohraničení ovládacího prvku.
Fill – barva pozadí ovládacího prvku.
Height – vzdálenost mezi horním a dolním okrajem ovládacího prvku.
Visible – možnost zobrazení nebo skrytí ovládacího prvku.
Width – vzdálenost mezi levým a pravým okrajem ovládacího prvku.
X – vzdálenost mezi levým okrajem ovládacího prvku a levým okrajem jeho nadřazeného kontejneru (nebo obrazovky, pokud se nadřazený kontejner nepoužívá).
Y – vzdálenost mezi horním okrajem ovládacího prvku a horním okrajem jeho nadřazeného kontejneru (nebo obrazovky, pokud se nadřazený kontejner nepoužívá).
Další informace
- Kompletní přehled fungování formulářů najdete v tématu Principy datových formulářů.
- Viz Reference vzorce Power Fx pro EditForm.
Pokyny pro přístupnost
Podpora pro čtení z obrazovky
- Zvažte přidání záhlaví do formuláře pomocí Popisek.
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ů).