Jak vytvořit aplikaci, MS Power Platform, PowerApps

3. část – Power Apps tvorba nové aplikace, editace a mazání záznamů

V naší sérii mini článků jste se již naučili zobrazit data a přidávat nové záznamy v aplikaci. Nyní zbývá zařídit, aby uživatelé mohli též záznamy upravit nebo odstranit. Podobně jako v minulém článku využijete především tlačítka, ikony a formulář.

Editace záznamu

Pro editaci záznamu je třeba vidět všechna stávající data záznamu a zároveň mít možnost je přepsat. K tomu nejlépe poslouží opět formulář. Obrazovka pro editaci záznamu může vypadat prakticky totožně jako obrazovka pro nový záznam. Využijte to tedy a obrazovku pro nový záznam duplikujte. Vlevo ve Stromovém zobrazení klikněte na tři tečky u existující obrazovky a zvolte Duplikovat obrazovku. Zkopírovaná obrazovka se objeví na úplném konci seznamu, stačí ji tedy vybrat, abyste na ní přešli.

Aby uživatelé věděli, že nevytváří nový záznam, ale editují stávající, je vhodné změnit popisek v horní části například na “Úprava kontaktu”. Tlačítka není třeba nijak upravovat, jelikož s duplikováním obrazovky se i kód přenese tak, že odkazuje na dané prvky (formulář) na nové obrazovce. Jediný rozdíl ve formuláři je ten, že je třeba v něm zobrazit nějakou existující vybranou položku. K tomu je potřeba opět napsat příkaz v řádku vzorců. Označte formulář a vlevo vedle řádku vzorců vyberte vlastnost Item. Nyní můžete kódem definovat tuto vlastnost, která říká, jaký záznam (položka) se má zobrazovat ve formuláři. V tomto případě by se měl zobrazovat záznam vybraný v galerii na obrazovce Přehled kontaktů. Použijte tedy kód ‘Název galerie’.Selected.

Zatím se žádný záznam nezobrazuje, jelikož je třeba říct, aby byl formulář ve stavu Upravit. Nejspolehlivější je to udělat ve chvíli, kdy uživatel nějaký záznam v galerii vybere. Přejděte tedy na obrazovku přehledu s galerií. Můžete si všimnout, že vpravo na konci každého řádku je šipka, kterou zde galerie automaticky vytvořila, když jste ji vložili na obrazovku. Tato Ikona zde byla automaticky vygenerována právě za účelem vybrání položky a zobrazení veškerých detailů a jejich editaci. Je pouze třeba definovat, co se stane, pokud na ni uživatel klikne. Podobně jako v předchozím článku ikonu označte a vedle řádku vzorců vyberte vlastnost OnSelect. Do řádku vzorců je poté třeba napsat, že formulář pro úpravy se má nastavit na stav Upravit, a poté se má přejít na obrazovku s oním formulářem. První příkaz je podobný jako v předchozím článku, kdy se nastavoval formulář na nový, jen se logicky změní první slovo: EditForm(‘Název formuláře’). Příkaz ukončíte dvěma středníky a napíšete příkaz pro přechod na obrazovku s formulářem: Navigate(‘Název obrazovky’).

Nyní můžete vyzkoušet v náhledu aplikace, že vše funguje.

Odstranění záznamu

Odstraňování bude v tomto případě pro uživatele nejjednodušší přímo z galerie. Využijte k tomu opět ikonu. Označte první řádek galerie a z levé nabídky opět vložte jakoukoli ikonu a v její vlastnosti Ikona vyberte například Koš. Umístěte ikonu na vhodné místo řádku galerie. Nyní stačí opět definovat, co se stane po kliknutí na ikonu. Jelikož se jedná o odstranění záznamu, není bezpečné kódovat odstranění přímo na kliknutí této ikony, jelikož ji může někdo stisknout omylem a tím o záznam přijde. Ideální je, aby se po kliknutí na ikonu zobrazil dotaz z možností potvrzení či zrušení odstranění. Tento dotaz lze zobrazit přímo na této obrazovce jako překryv, není nutné pro něj vytvářet novou obrazovku. Vytvoříte vlastně vrstvu, která bude zakrývat, co je za ní.

Dotaz se musí zobrazit pouze, když uživatel klikne na ikonu koše. Toto lze zařídit pomocí proměnné, která se při kliknutí nastaví na true (pravda) a dotaz bude viditelný pouze, pokud bude mít proměnná tuto hodnotu. Označte ikonu koše a v řádku vzorců pro vlastnost OnSelect nastavte onu proměnnou příkazem Set(‘Název  proměnné’; true). Tato funkce již obsahuje dva parametry na rozdíl od všech předchozích zatím použitých. Tedy do závorky za název funkce nejdříve napíšete první parametr (jak se proměnná nazývá) a středníkem (v anglické verzi čárkou) oddělíte druhý parametr (hodnota proměnné).  Kdykoli nyní někdo klikne na ikonu koše, proměnná se nastaví na hodnotu true.

Nyní je třeba přidat vrstvu s dotazem. Ideální je, aby zakrývala celé pozadí a nebyla tak možnost kliknut na nic jiného, dokud se uživatel nerozhodne potvrdit nebo zrušit odstranění. V tomto případě je nejjednodušší použít Popisek, jehož barvu pozadí nastavíte na nějakou barvu (například bílou). Vložte tedy popisek a roztáhněte ho přes celou obrazovku. Ve vlastnostech pak nastavte barvu pozadí a další vlastnosti textu, aby se dotaz zobrazoval, jak požadujete, a napište samotný dotaz, např: “Opravdu si přejete odstranit tento záznam?”.  Následně přidejte dvě tlačítka nebo ikony, jedno pro potvrzení a jedno pro zrušení.  Umístěte je na vhodná místa a naformátujte vzhledově dle libosti.

Při stisknutí tlačítka Zrušit musí dotaz zmizet a měla by být opět vidět galerie. To je řízeno proměnnou, kterou jste definovali dříve. Při stisknutí tlačítka Zrušit je tedy třeba ji naopak nastavit na false (nepravda), a to stejnou funkcí jen s jiným druhým parametrem: Set(‘Název proměnné’; false). Název proměnné musí být shodný s dříve definovanou, jelikož se jedná o stejnou proměnnou. Po kliknutí na toto tlačítko se však nic viditelně nezmění a dotaz zde stále je. Je třeba totiž tuto proměnou ještě použít ve vlastnosti Visible všech daných prvků, které mají být vidět pouze v případě, kdy je hodnota true. Držením klávesy Ctrl a označováním prcků můžete vybrat více prvků najednou. Poté zvolte vlastnost Visible a do řádku vzorců napište název proměnné. Jelikož vlastnost Visible přijímá hodnoty typu true/false (pravda/nepravda) a vaše proměnná je stejného typu a může nabývat pouze hodnot true a false, není třeba zde psát nic víc.

Tímto jste tuto vlastnost nastavili pro všechny označené prvky najednou a po kliknutí na tlačítko Zrušit/Ne dotaz zmizí. Kliknutím na koš se opět objeví. Nyní stačí definovat, že se má záznam odstranit při kliknutí na potvrzení a poté se dotaz opět zavřít. Do vlastnosti OnSelect daného tlačítka tedy napište příkaz Remove(‘Název tabulky s daty’; ‘Záznam k odstranění’). Opět se jedná o funkci s dvěma parametry, kde první je název zdrojové tabulky, ze které se má záznam odstranit, v tomto případě tabulky se záznamy zaměstnanců, a druhý parametr je záznam, který má být odstraněn. Odstraněn má být záznam, který je vybraný v galerii kontaktů (zaměstnanců), jelikož při kliknutí na koš se vybere záznam, který je na tomto řádku. Tedy záznam k odstranění bude v tomto případě ‘Název galerie’.Selected. Oddělen dvěma středníky bude následovat stejný příkaz jako u tlačítka Zrušit, který zajistí, že po odstranění záznamu dotaz zmizí a bude vidět opět galerie. Můžete vyzkoušet v náhledu aplikace a uvidíte, že odstraněný záznam opravdu z galerie zmizí.

Školení Power Apps

Pokud by vás zajímalo více z Power Apps připravili jsme školení pro začátečníky i pokročilé nebo individuální školení na míru. Podívejte se na naší nabídku školení, ze které si vybere každý.

Naše minisérie článků

Zajímá vás, co dalšího lze v Power Apps nastavit a jak dále aplikaci tvořit. Sledujte naši minisérii článků, kam pravidelně přidáváme další články o Power Apps.

Napsat komentář