|
Ve spolupráci se SEDUO jsem vytvořil několik videokurzů:
Mate-li postavenou aplikaci v PowerApps napojenou na data z Excel, potřebujete mnohdy vidět jen některá data, nebo-li vyhledávat. Jak na to se naučíte v tomto článku.
Cíl jak přes Textové pole vyhledat v položkách Galerie.
Předpokládám, že máte vytvořenou aplikaci, například využitím Vlastní aplikace v PowerApps pracující s daty v Excel.
Pro přehlednost je článek rozdělen na kapitoly. Kde si ukážeme dvojí možnost hledání. Jedna kdy jen vyplníte textové a pole a již se tabulka prohledává, druhá vyplníte textové pole a po kliknutí na tlačítko se teprve prohledá.
Pro další práci předpokládám, že máte v PowerApps k dispozici plátno (obrazovku), s galerií. Jak aplikaci s plátnem vytvořit jsem popsal v článku:
Do plátna na přehledu (kde máte vloženou galerií) si vložíme tyto prvky:
K vložení využijte "plusko" a z oblíbených použijte
Před vkládáním jsme si přesunul galerií napravo (ať se pěkně ukazuje v náhledech, jinak na funkci nemá vliv).
Prvky máte vloženy zbývá prvky upravit. Z předchozího článku víte, že pokud je obrazovka, prvek dobře pojmenovány, lépe se orientuje. Label123 je nic neříkající, pod pojmem ZadanHledanyText už si dokážete lépe něco představit.
Přejmenovat lze:
Pojmenováno máte a můžete upravit ještě pár parametrů. Třeba popisek v Textovém zadání (TextBoxu), které jsme přejmenovali na ZadanHledanyText. Změníte parametr "TextHint", třeba na "hledej z HintText ne Default" U tlačítka vlastnost Text na "Vyfiltruj".
V pravém dialogovém boxu najdete správný parametr.
Podrobněji jak na úpravu prvku v samostatném článku.
Máte-li připraveno pojďme propopjit. Ukážu dvě možnosti řešení:
Co bude hledat Galerie - proto v galerií (Gallerie2) pro prvek Items zadáte (bude se prohledávat pomoci hledání a hledat ve sloupci Jméno):
Search(TabulkaData; ZadanHledanyText.Text; "Jméno")
Pro hledání ve více sloupcích, jen funkci Search doplníme o další sloupce
Search(TabulkaData; ZadanHledanyText.Text; "Jméno"; "Příjmení")
Místo funkce pro hledání, lze využít i funkci Filter - tj. místo hledání budete filtrovat. Rozdíl je že u hledání hledá už při zadávaní všechna jména začínající na E, u filtrování se jméno musí rovnat (ano u čísel lze filtrovat na větší menší, ale o tom v dalším článku, stejně jako na další možnosti zadávání textu).
Neboli stačí do položky Items v příslušné galerií zadat:
Filter(TabulkaData;Jméno = ZadanHledanyText.Text)
Vyzkoušejte jaký bude rozdíl a co provede Search a Filter.
Můžeme si to trochu zkomplikovat, klikem na tlačítko se teprve provede řazení nebo filtrování. Nejprve přiřadíme tlačítku OnSelect, čímž hodnota z textového zadání, které budete mít v TextBoxu s názvem ZadanHledanyText se přepíše do popisku CoHledatPomoc.
Nastavme tlačítku v Text jak se pak budeme na text odkazovat. V ukázce je pro Text nastaveno: Vysledek
Vysledek
Pak tlačítku v OnSelect řeknete kam zapisovat, do proměné Vysledek (v našem Labelu) se zadá hodnota z Textboxu a že půjde o Text tj. ZadanHledanyText.Text proto se nastaví nasetuje:
Set( Vysledek ; ZadanHledanyText.Text )
Pro testy funkčnosti již víte (nebo vás napadne pokud nezafunguje), že nesmíte zapomemnout v galerií změnit odkaz na label (popisek) CoHledatPomoc. Protože se bude hledat (filtrovat) podle jiného prvku.
Filter(TabulkaData;Jméno = CoHledatPomoc.Text)
Filtr se provede až po kliku na tlačítko (rozlišuje velká a malá písmena), možná se vám zdá zbytečné, ale můžete třeba filtrovat podle kategorií, kdy pod "tlačítkem" za popiskem bude schovaná kategorie. Asi vás napadne že statickou hodnotu do Popisku zapíšete:
Set( Vysledek ; "Ahoj světe" )
Určitě testujete průběžně, třeba výsledek pro Evu bude (samozřejmě, že ve sloupci Jméno se musí jméno Eva nacházet).
Upravujete na pozadí data v tabulce? Při načtení aplikace něco nefunguje. Máte aktulizováno? V PowerApps v menu Zobrazení > Zdroje dat vyberte které dat (máte jenom jedny TabulkaData). Tři tečky a aktualizovat.
Nebo Zdroje dat vybraná tabulka a Aktualizovat
Filtrovat dle dvou a více hodnot. Chci filtrovat Příjmení na "Malá" a jméno "Eva". Ukázka pro Items v Gallerii2
Filter(TabulkaData;Jméno = CoHledatPomoc.Text;Příjmení = "Malá")
Podobně se můžete odkázat přes Textové pole atd.
Jak filtrovat, řadit se dozvíte v samostatné kapitole. Ukázka kódu, funguje za předpokladu, že k dispozici máte příslušné prvky:
SortByColumns(Search([@Table1]; TextSearchBox1.Text; "Jméno";"Příjmení";"Věk"); "Jméno"; If(SortDescending1; Descending; Ascending))
O tom v dalším článku.
Článek byl aktualizován: 19.02.2021 13:56
Ušetřil vám tento web čas, peníze? Pomohl vyřešit problém? Jste ochotni poskytnout symbolickou odměnu na další rozvoj? Vybrte si formu odměny, která vám vyhovuje.
Microsoft Office (Word, Excel, Google tabulky, PowerPoint) se věnuji od roku 2000 (od 2004 na této doméně) - V roce 2017 jsem od Microsoft získal prestižní ocenění MVP (zatím jsem jediný z ČR v kategorií Excel). Své vědomosti a zkušenosti dávám k dispozici i on-line ve videích pro SEDUO. Ve firmách školím a konzultuji, učím na MUNI. Tento web již tvořím přes 15 let. Zdarma je zde přes 1.000 návodu, tipů a triků, včetně přes 250 různých šablon, sešitů.
Můžete být prvními co zanechají smysluplný komentář.
Pomohl Vám návod? Sdílejte na Facebooku, G+ |
||
LinkedIn... |
Stránky o MS Office (Excel) produktu společnosti Microsoft. Neslouží jako technická podpora.
| Email na autora: pavel.lasak@gmail.com | Copyright © : Pavel Lasák 2004 - 2021 |