Princípy premenných plátnovej aplikácie v službe PowerAppsUnderstand canvas-app variables in PowerApps

Ak ste používali iný programovací nástroj, ako je napríklad Visual Basic alebo JavaScript, môžete sa pýtať: Kde sú premenné?If you've used another programming tool, such as Visual Basic or JavaScript, you may be asking: Where are the variables? Služba PowerApps je trochu iná a vyžaduje odlišný prístup.PowerApps is a little different and requires a different approach. Namiesto toho dosiahnuť pre premennú, keď vytvárate aplikáciu plátna, položte si otázku: Ako by sa to v Exceli?Instead of reaching for a variable when you build a canvas app, ask yourself: What would I do in Excel?

V iných nástrojoch ste pravdepodobne vykonali výpočet a uložili výsledok vo forme premennej.In other tools, you may have explicitly performed a calculation and stored the result in a variable. Služba PowerApps a Excel však pri zmene vstupných údajov automaticky prepočítavajú vzorce, takže väčšinou nie je nutné vytvárať a aktualizovať premenné.However, PowerApps and Excel both automatically recalculate formulas as the input data changes, so you usually don't need to create and update variables. Takýmto prístupom, kde je to možné, sa aplikácia vytvára, používa a udržiava oveľa jednoduchšie.By taking this approach whenever possible, you can more easily create, understand, and maintain your app.

V niektorých prípadoch, ktoré rozširujú model Excelu pridaním vzorcov správania, budete musieť v službe PowerApps použiť premenné.In some cases, you'll need to use variables in PowerApps, which extends Excel's model by adding behavior formulas. Tieto vzorce sa spustia, keď napríklad používateľ vyberie tlačidlo.These formulas run when, for example, a user selects a button. Vo vzorci správania je často vhodné nastaviť premennú, ktorá sa bude používať v iných vzorcoch.Within a behavior formula, it's often helpful to set a variable to be used in other formulas.

Vo všeobecnosti sa však používanie premenných neodporúča.In general, avoid using variables. Niekedy je však výsledok, ktorý chcete dosiahnuť, možný iba s pomocou premennej.But sometimes only a variable can enable the experience you want. Premenné sa implicitne vytvorený a napísali, keď sa objaví vo funkciách, ktoré nastaviť ich hodnoty.Variables are implicitly created and typed when they appear in functions that set their values.

Zavedenie Excelu do služby PowerAppsTranslate Excel into PowerApps

ExcelExcel

Zopakujme si, ako funguje Excel.Let's review how Excel works. Bunka môže obsahovať hodnotu, ako napríklad číslo alebo reťazec či vzorec, ktorý je založený na hodnotách v iných bunkách.A cell can contain a value, such as a number or a string, or a formula that's based on the values of other cells. Keď používateľ zadá do bunky inú hodnotu, Excel automaticky prepočíta všetky vzorce, ktoré sú prepojené s novou hodnotou.After the user enters a different value into a cell, Excel automatically recalculates any formulas that depend on the new value. Na fungovanie tohto procesu nemusíte nič programovať.You don't have to do any programming to enable this behavior.

V nasledujúcom príklade bunka A3 je nastavená na vzorec A1 + A2.In the following example, cell A3 is set to the formula A1+A2. Ak A1 alebo A2 zmeny, A3 automaticky prepočíta tak, aby odrážali zmenu.If A1 or A2 changes, A3 automatically recalculates to reflect the change. Toto správanie vyžaduje, aby bez kódovania mimo samotný vzorec.This behavior requires no coding outside of the formula itself.

Animáciu prepočítavajú súčet dvoch čísel v programe Excel

Excel neobsahuje premenné.Excel doesn't have variables. Hodnota bunky, ktorá obsahuje vzorec, sa mení na základe vstupov, ale zapamätať si výsledok vzorca a uložiť ho do inej bunky nie je možné.The value of a cell that contains a formula changes based on its input, but there's no way to remember the result of a formula and store it in a cell or anywhere else. Ak zmeníte hodnotu v bunke, môže sa zmeniť celý tabuľkový hárok a všetky predtým vypočítané hodnoty sa stratia.If you change a cell's value, the entire spreadsheet may change, and any previously calculated values are lost. Používatelia môžu v Exceli manuálne kopírovať a priliepať bunky, ale pomocou vzorcov to nie je možné uskutočniť.An Excel user can copy and paste cells, but that's under the user's manual control and isn't possible with formulas.

PowerAppsPowerApps

Aplikácie, ktoré vytvárate v službe PowerApps, sa správajú veľmi podobne ako Excel.Apps that you create in PowerApps behave very much like Excel. Namiesto aktualizovania buniek môžete kdekoľvek na obrazovku pridať ovládacie prvky a pomenovať ich, aby ich bolo možné použiť vo vzorcoch.Instead of updating cells, you can add controls wherever you want on a screen and name them for use in formulas.

Napríklad môžete replikovať správanie Excelu v aplikácii tak, že pridáte označenie prvok s názvom Label1, a dve textový vstup ovládacích prvkov, s názvom TextInput1 a TextInput2.For example, you can replicate the Excel behavior in an app by adding a Label control, named Label1, and two Text input controls, named TextInput1 and TextInput2. Ak potom nastavíte Text vlastnosť Label1 na TextInput1 + TextInput2, sa vždy zobrazí súčet ľubovoľné čísla TextInput1 a TextInput2 automaticky.If you then set the Text property of Label1 to TextInput1 + TextInput2, it will always show the sum of whatever numbers are in TextInput1 and TextInput2 automatically.

Výpočet súčet dvoch čísel v PowerApps

Všimnite si, že Label1 je vybratý ovládací prvok zobrazujúci jeho Text vzorec vo vzorcovom paneli v hornej časti obrazovky.Notice that the Label1 control is selected, showing its Text formula in the formula bar at the top of the screen. Tu sa nachádza vzorec TextInput1 + TextInput2.Here we find the formula TextInput1 + TextInput2. Vzorec vytvorí závislosť medzi týmito ovládacími prvkami, rovnako ako sa vytvárajú závislostí medzi bunkami v excelovom zošite.This formula creates a dependency between these controls, just as dependencies are created between cells in an Excel workbook. Teraz zmeníme hodnotu TextInput1:Let's change the value of TextInput1:

Animácia výpočtu súčet dvoch čísel v PowerApps

Vzorec pre Label1 sa automaticky prepočíta a zobrazí novú hodnotu.The formula for Label1 has been automatically recalculated, showing the new value.

V službe PowerApps môžete používať vzorce na určenie nielen primárnej hodnoty ovládacieho prvku, ale aj vlastností ako formátovanie.In PowerApps, you can use formulas to determine not only the primary value of a control but also properties such as formatting. V nasledujúcom príklade vzorec vlastnosti Color (Farba) označenia automaticky zobrazí záporné hodnoty červenou farbou.In the next example, a formula for the Color property of the label will automatically show negative values in red. Funkcia If by mala vyzerať veľmi podobne ako v Exceli:The If function should look very familiar from Excel:

If( Value(Label1.Text) < 0, Red, Black )

Animácia podmieneného formátovania

Vzorce môžete použiť pre najrôznejšie scenáre:You can use formulas for a wide variety of scenarios:

  • Pomocou GPS vášho zariadenia môže ovládací prvok mapy zobraziť vašu aktuálnu polohu pomocou argumentov Location.Latitude a Location.Longitude.By using your device's GPS, a map control can display your current location with a formula that uses Location.Latitude and Location.Longitude. Pri pohybe bude mapa vašu polohu automaticky sledovať.As you move, the map will automatically track your location.
  • Ostatní používatelia môžu aktualizovať zdroje údajov.Other users can update data sources. Ostatní členovia tímu môžu napríklad aktualizovať položky v sharepointovom zozname.For example, others on your team might update items in a SharePoint list. Keď obnovíte zdroj údajov, všetky závislé vzorce sú automaticky prepočítané tak, aby obsahovali aktualizované údaje.When you refresh a data source, any dependent formulas are automatically recalculated to reflect the updated data. Ďalej v našom príklade môžete nastaviť vlastnosť Items (Položky) galérie na vzorec Filter ( SharePointList ), ktorý automaticky zobrazí novofiltrovanú množinu záznamov.Furthering the example, you might set a gallery's Items property to the formula Filter( SharePointList ), which will automatically display the newly filtered set of records.

VýhodyBenefits

Používanie vzorcov pri tvorbe aplikácií má mnoho výhod:Using formulas to build apps has many advantages:

  • Ak viete používať Excel, viete používať službu PowerApps.If you know Excel, you know PowerApps. Model a programovací jazyk vzorcov sú rovnaké.The model and formula language are the same.
  • Ak ste používali iné programovacie nástroje, zamyslite sa, koľko kódu by bolo potrebné na dosiahnutie výsledkov v uvedených príkladoch.If you've used other programming tools, think about how much code would be required to accomplish these examples. V jazyku Visual Basic by ste museli pre každú udalosť zmeny v každom ovládacom prvku zadávania textu napísať obsluhu udalostí.In Visual Basic, you'd need to write an event handler for the change event on each text-input control. Kód na vykonanie požadovaného výpočtu v každej udalosti je nadbytočný, a ak by ste nenapísali spoločný podprogram, mohlo by dôjsť k výpadku synchronizácie.The code to perform the calculation in each of these is redundant and could get out of sync, or you'd need to write a common subroutine. V službe PowerApps všetky vyriešite jednoriadkovým vzorcom.In PowerApps, you accomplished all of that with a single, one-line formula.
  • Chcete zistiť, odkiaľ Label1spoločnosti pochádza text, neviete presne, kde hľadať: vzorec v Text vlastnosti.To understand where Label1's text is coming from, you know exactly where to look: the formula in the Text property. Neexistuje žiadny iný spôsob, ako ovplyvniť text tohto ovládacieho prvku.There's no other way to affect the text of this control. V tradičnom programovacom nástroji môže každá udalosť zmeny alebo podprogram zmeniť hodnotu označenia z ľubovolného miesta v programe.In a traditional programming tool, any event handler or subroutine could change the value of the label, from anywhere in the program. To môže sťažovať zisťovanie času a miesta zmeny premennej.This can make it hard to track down when and where a variable was changed.
  • Ak používateľ zmení ovládací prvok jazdca a potom zmení názor, môže zmeniť hodnotu jazdca na pôvodnú.If the user changes a slider control and then changes their mind, they can change the slider back to its original value. Bude to akoby sa nič nestalo. Aplikácia bude zobrazovať rovnaké hodnoty ovládacieho prvku ako predtým.And it's as if nothing had ever changed: the app shows the same control values as it did before. Cena za experimentovanie a kladenie otázok „Čo by sa stalo keby?“ je podobne ako v Exceli nulová.There are no ramifications for experimenting and asking "what if," just as there are none in Excel.

Vo všeobecnosti platí, že ak viete dosiahnuť svoj cieľ pomocou vzorca, je to lepšia cesta.In general, if you can achieve an effect by using a formula, you'll be better off. Zapojte mechanizmus vzorcov v službe PowerApps do práce pre vás.Let the formula engine in PowerApps work for you.

Situácie, kedy je vhodné použiť premennéKnow when to use variables

Zmeňme našu jednoduchú sčítačku, aby fungovala ako tradičný sčítací stroj s medzisúčtom.Let's change our simple adder to act like an old-fashioned adding machine, with a running total. Ak vyberiete tlačidlo Pridať pripočítate k medzisúčtu číslo.If you select an Add button, you'll add a number to the running total. Ak vyberiete tlačidlo Vymazať, vynulujete medzisúčet.If you select a Clear button, you'll reset the running total to zero.

ZobrazenieDisplay PopisDescription
aplikácie s SMS vstupný ovládací prvok, označenie a dve tlačidlá App with a Text input control, a label, and two buttons Pri spustení aplikácie Medzisúčet je 0.When the app starts, the running total is 0.

Červená bodka predstavuje používateľa prst do poľa textu, ak používateľ zadá 77.The red dot represents the user's finger in the text-input box, where the user enters 77.
Ovládací prvok vstup textu obsahuje 77 a stlačení tlačidla Pridať Používateľ vyberie pridať tlačidlo.The user selects the Add button.
Celkový súčet je 77 a iný 77 je pridávaný do nej 77 sa pridá do Medzisúčet.77 is added to the running total.

Používateľ vyberie pridať znova na tlačidlo.The user selects the Add button again.
Celkový súčet je 154 skôr, než ho nesmie byť začiarknuté. 77 znova sa pridá do Medzisúčet, výsledkom bude 154.77 is again added to the running total, resulting in 154.

Používateľ vyberie Clear tlačidlo.The user selects the Clear button.
Celkový súčet nesmie byť začiarknuté. Medzisúčet obnoví sa na 0.The running total is reset to 0.

V našom sčítacom stroji používame niečo, čo v Exceli neexistuje – tlačidlo.Our adding machine uses something that doesn't exist in Excel: a button. V tejto aplikácii nemôžete na výpočet medzisúčtu používať iba vzorce, pretože hodnota medzisúčtu závisí od série akcií vykonaných používateľom.In this app, you can't use only formulas to calculate the running total because its value depends on a series of actions that the user takes. Náš medzisúčet musí byť zaznamenávaný a aktualizovaný manuálne.Instead, our running total must be recorded and updated manually. Väčšina programovacích nástrojov uchováva túto informáciu v premennej.Most programming tools store this information in a variable.

Niekedy však bude potrebné, aby sa premenná v aplikácii správala tak, ako chcete.You'll sometimes need a variable for your app to behave the way you want. Pri tomto prístupe však treba vziať do úvahy niekoľko skutočností:But the approach comes with caveats:

  • Medzisúčet musíte aktualizovať manuálne.You must manually update the running total. Nie je možné aktualizovať automatickým prepočítavaním.Automatic recalculation won't do it for you.
  • Medzisúčet nie je naďalej možné počítať z hodnôt iných ovládacích prvkov.The running total can no longer be calculated based on the values of other controls. Bude záležať od toho, koľkokrát používateľ stlačil tlačidlo Pridať a aká hodnota sa nachádzala v ovládacom prvku zadávania textu pri každom stlačení.It depends on how many times the user selected the Add button and what value was in the text-input control each time. Vybral používateľ číslo 77 a dvakrát stlačil tlačidlo Pridať alebo pridal čísla 24 a 130?Did the user enter 77 and select Add twice, or did they specify 24 and 130 for each of the additions? Potom, ako sa vypočíta súčet 154, to už nie je možné určiť.You can't tell the difference after the total has reached 154.
  • Zmeny v súčte môžu pochádzať z rôznych ciest.Changes to the total can come from different paths. V tomto príklade je možné súčet aktualizovať tlačidlami Pridať a Vymazať.In this example, both the Add and Clear buttons can update the total. Ak sa aplikácia nespráva tak, ako ste očakávali, ktoré tlačidlo je príčinou problému?If the app doesn't behave the way you expect, which button is causing the problem?

Použiť globálnu premennúUse a global variable

Ak chcem vytvoriť sčítací stroj, je potrebné stanoviť premennú, ktorá bude obsahovať medzisúčet.To create our adding machine, we require a variable to hold the running total. Najjednoduchšie premenné v službe PowerApps sú globálne premenné.The simplest variables to work with in PowerApps are global variables.

Ako fungujú globálne premenné:How global variables work:

  • Hodnotu globálnej premennej nastavíte pomocou funkcie Set.You set the value of the global variable with the Set function. Vzorec Set( MyVar, 1 ) nastaví globálnu premennú MyVar na hodnotu 1.Set( MyVar, 1 ) sets the global variable MyVar to a value of 1.
  • Globálnu premennú použijete odkazom na názov, ktorý ste použili pri funkcii Set.You use the global variable by referencing the name used with the Set function. V tomto prípade premenná MyVar vráti hodnotu 1.In this case, MyVar will return 1.
  • Globálne premenné môžu obsahovať ľubovolnú hodnotu vrátane reťazcov, čísel, záznamov a tabuliek.Global variables can hold any value, including strings, numbers, records, and tables.

Zmeňme náš sčítací stroj pomocou globálnej premennej:Let's rebuild our adding machine by using a global variable:

  1. Pridajte ovládací prvok zadávania textu s názvom TextInput1 a dve tlačidlá, s názvom Button1 a Button2.Add a text-input control, named TextInput1, and two buttons, named Button1 and Button2.

  2. Nastavte vlastnosť Text tlačidla Button1 na hodnotu Add (Pridať) a vlastnosť Text tlačidla Button2 na hodnotu Clear (Vymazať).Set the Text property of Button1 to "Add", and set the Text property of Button2 to "Clear".

  3. Ak chcete aktualizovať medzisúčet vždy, keď používateľ stlačí tlačidlo Add (Pridať), nastavte jeho vlastnosť OnSelect na tento vzorec:To update the running total whenever a user selects the Add button, set its OnSelect property to this formula:

    Set (RunningTotal, RunningTotal + TextInput1)Set( RunningTotal, RunningTotal + TextInput1 )

    Samotná existencii tohto vzorca zavádza RunningTotal ako globálnej premennej, ktorý obsahuje čísla z dôvodu + operátor.The mere existence of this formula establishes RunningTotal as a global variable that holds a number because of the + operator. Môžete odkazovať na RunningTotal kdekoľvek v aplikácii.You can reference RunningTotal anywhere in the app. Vždy, keď používateľ otvorí túto aplikáciu, RunningTotal má počiatočnú hodnotu prázdne.Whenever the user opens this app, RunningTotal has an initial value of blank.

    Po prvý raz, ktorú používateľ vyberie pridať tlačidlo a nastavenie spustení RunningTotal je nastavená na hodnotu RunningTotal + TextInput1.The first time that a user selects the Add button and Set runs, RunningTotal is set to the value RunningTotal + TextInput1.

    Vlastnosť OnSelect tlačidla Pridať je nastavený na nastavenie funkcie

  4. Ak chcete nastaviť medzisúčet na hodnotu 0 vždy, keď používateľ stlačí tlačidlo Clear (Vymazať) nastavte vlastnosť OnSelect na tento vzorec:To set the running total to 0 whenever the user selects the Clear button, set its OnSelect property to this formula:

    Set( RunningTotal, 0 )Set( RunningTotal, 0 )

    Vlastnosť OnSelect tlačidla Clear je nastavený na nastavenie funkcie

  5. Pridajte ovládací prvok Označenie a nastavte vlastnosť Text na hodnotu RunningTotal.Add a Label control, and set its Text property to RunningTotal.

    Vzorec sa automaticky prepočíta a zobrazí používateľovi meniacu sa hodnotu RunningTotal podľa toho, ktoré tlačidlá používateľ stlačí.This formula will automatically be recalculated and show the user the value of RunningTotal as it changes based on the buttons that the user selects.

    Vlastnosť textu označenia je nastavený na názov premennej

  6. Zobrazte ukážku aplikácie, v ktorej sme podľa postupu popísaného vyššie, vytvorili sčítací stroj.Preview the app, and we have our adding machine as described above. Zadajte do textového poľa číslo a niekoľkokrát stlačte tlačidlo Pridať.Enter a number in the text box and press the Add button a few times. Keď budete hotoví, vráťte sa k tvorbe stlačením klávesu Esc.When ready, return to the authoring experience using the Esc key.

    Ovládací prvok textu obsahuje hodnotu a označenie obsahuje Medzisúčet

  7. Ak chcete zobraziť hodnotu globálnej premennej, vyberte súbor menu a vyberte premenné na ľavej table.To show the global variable's value, select the File menu, and select Variables in the left-hand pane.

    Možnosti premenné v ponuke súbor

  8. Ak chcete zobraziť všetky miesta, kde premenná používa a definuje, vyberte ju.To show all the places where the variable is defined and used, select it.

    Zoznam miesto, kde sa používa premennej

Typy premennýchTypes of variables

PowerApps ponúka tri typy premenných:PowerApps has three types of variables:

Typ premennýchVariables type RozsahScope PopisDescription Funkcie, ktoré vytvárajúFunctions that establish
Globálne premennéGlobal variables AplikáciaApp Najjednoduchšie použitie.Simplest to use. Obsahuje číslo, textový reťazec, booleovskú hodnotu, záznam, tabuľku atď., ktoré môžu byť odkazované z ľubovolného miesta v aplikácii.Holds a number, text string, Boolean, record, table, etc. that can be references from anywhere in the app. SetSet
Kontextové premennéContext variables ObrazovkaScreen Skvelé riešenie pri prenose hodnôt, ako napríklad parametrov do procesu v iných jazykoch.Great for passing values to a screen, much like parameters to a procedure in other languages. Možno odkazovať z iba jednu obrazovku.Can be referenced from only one screen. UpdateContextUpdateContext
NavigateNavigate
KolekcieCollections AppApp Obsahuje tabuľku, ktorá môže odkazovať z kdekoľvek v aplikácii.Holds a table that can be referenced from anywhere in the app. Umožňuje upravovať v tabuľke obsah, ktorý nie je nutné nastavovať ako celok.Allows the contents of the table to be modified rather than being set as a whole. Je možné ju uložiť v lokálnom zariadení a použiť neskôr.Can be saved to the local device for later use. CollectCollect
ClearCollectClearCollect

Vytvárať a odstraňovať premennéCreate and remove variables

Všetky premenné sa vytvárajú implicitne, keď sa objaví vo nastavenie, UpdateContext, Navigate, zbierať, alebo ClearCollect funkcie.All variables are created implicitly when they appear in a Set, UpdateContext, Navigate, Collect, or ClearCollect function. Deklarovať premenné a jeho typ, sa vyžaduje len zahrnúť do niektorú z týchto funkcií kdekoľvek vo vašej aplikácii.To declare a variable and its type, you need only include it in any of these functions anywhere in your app. Žiadna z týchto funkcií vytvoriť premenné "; premenné vyplniť iba s hodnotami.None of these functions create variables; they only fill variables with values. Ste nikdy deklarovať premenné explicitne ako by ste mohli v iný programovací nástroj, a všetky písať je implicitné informácie o používaní.You never declare variables explicitly as you might in another programming tool, and all typing is implicit from usage.

Môžete mať napríklad ovládací prvok tlačidla s OnSelect vzorec rovné Set (X, 1).For example, you might have a button control with an OnSelect formula equal to Set( X, 1 ). Tento vzorec zavádza X ako premenná typu číslo.This formula establishes X as a variable with a type of number. Môžete použiť X vo vzorcoch ako číslo, a táto premenná má hodnotu prázdne po otvorení aplikácie, ale skôr ako tlačidlo.You can use X in formulas as a number, and that variable has a value of blank after you open the app but before you select the button. Keď vyberiete tlačidlo, ktoré poskytujú X hodnotu 1.When you select the button, you give X the value of 1.

Ak ste pridali ďalšie tlačidlo a nastavte jeho OnSelect na hodnotu Set (X, "Hello"), by vyskytne chyba, pretože typ (textový reťazec) nezhoduje s typom v predchádzajúcich nastaviť(číslo).If you added another button and set its OnSelect property to Set( X, "Hello" ), an error would occur because the type (text string) doesn't match the type in the previous Set (number). Všetky implicitné definície premennej musí dohode týkajúcej sa typu.All implicit definitions of the variable must agree on type. Znova, to všetko sa stalo, pretože ste sa zmienil X vo vzorcoch, nie preto, že niektorý z týchto vzorcov v skutočnosti mal spustiť.Again, all this happened because you mentioned X in formulas, not because any of those formulas had actually run.

Môžete odstrániť premennú odstránením všetkých nastaviť, UpdateContext, Navigate, zbierať, alebo ClearCollect funkcie, ktoré implicitne vytvárajú premennej.You remove a variable by removing all the Set, UpdateContext, Navigate, Collect, or ClearCollect functions that implicitly establish the variable. Bez toho, aby tieto funkcie, premenná neexistuje.Without these functions, the variable doesn't exist. Musíte tiež odstrániť všetky odkazy na premennú, pretože ich spôsobí chybu.You must also remove any references to the variable because they will cause an error.

Premenná životnosť a počiatočnú hodnotuVariable lifetime and initial value

Všetky premenné sa ukladajú do pamäte počas spustenia aplikácie.All variables are held in memory while the app runs. Po zatvorení aplikácie, hodnoty, ktoré premenné sa stratia.After the app closes, the values that the variables held are lost.

Obsah premennej môžete uložiť v zdroji údajov s použitím Patch alebo zbierať funkcie.You can store the contents of a variable in a data source by using the Patch or Collect functions. Môžete tiež uložiť hodnoty v kolekciách na miestnom zariadení pomocou SaveData funkcie.You can also store values in collections on the local device by using the SaveData function.

Keď používateľ aplikáciu otvorí, všetky premenné mať počiatočnú hodnotu prázdne.When the user opens the app, all variables have an initial value of blank.

Premenné na čítanieReading variables

Pomocou kontextovej premennej názov jeho hodnotu.You use the variable's name to read its value. Napríklad môžete definovať premennej pomocou tohto vzorca:For example, you can define a variable with this formula:

Set( Radius, 12 )

Potom môžete jednoducho použiť Radius nachádzate, a to, že môžete použiť číslo, a to nahradí 12:Then you can simply use Radius anywhere that you can use a number, and it will be replaced with 12:

Pi() * Power( Radius, 2 )

Ak dáte kontextová premenná s rovnakým názvom ako globálnu premennú alebo kolekciu, kontextovej premennej má vyššiu prioritu.If you give a context variable the same name as a global variable or a collection, the context variable takes precedence. Však môžete aj naďalej odkazovať na globálnu premennú alebo kolekciu Ak používate operátora rozlišovania @[Radius].However, you can still reference the global variable or collection if you use the disambiguation operator @[Radius].

Pomocou kontextovej premennejUse a context variable

Pozrime sa, ako by sme vytvorili sčítací stroj namiesto globálnej premennej pomocou kontextovej premennej.Let's look at how our adding machine would be created using a context variable instead of a global variable.

Ako fungujú kontextové premenné:How context variables work:

  • Implicitne vytvoriť a nastaviť kontextové premenné pomocou UpdateContext alebo Navigate funkcie.You implicitly establish and set context variables by using the UpdateContext or Navigate function. Pri spustení aplikácie počiatočnú hodnotu všetky kontextové premenné sa prázdne.When the app starts, the initial value of all context variables is blank.
  • Kontextové premenné aktualizujete pomocou záznamov.You update context variables with records. V iných programovacích nástrojoch na priradenie bežne používate výraz "=", ako napríklad tu: "x = 1".In other programming tools, you commonly use "=" for assignment, as in "x = 1". Pri kontextových ponukách použite {x: 1} namiesto toho.For context variables, use { x: 1 } instead. Pri použití kontextovej premennej, použite jeho názov priamo bez záznamu syntax.When you use a context variable, use its name directly without the record syntax.
  • Môžete tiež nastaviť kontextovej premennej pri použití Navigate funkcia na zobrazenie na obrazovke.You can also set a context variable when you use the Navigate function to show a screen. Ak vnímate obrazovku ako určitý druh postupu alebo podprogram, tento prístup sa podobá odovzdávanie parametrov v iných programovacích nástrojov.If you think of a screen as a kind of procedure or subroutine, this approach resembles parameter passing in other programming tools.
  • Okrem funkcie Navigate sú ostatné kontextové premenné obmedzené na kontext jednej obrazovky, podľa čoho sú pomenované.Except for Navigate, context variables are limited to the context of a single screen, which is where they get their name. Mimo tohto kontextu ich nie je možné použiť.You can't use or set them outside of this context.
  • Kontextové premenné môžu obsahovať ľubovolnú hodnotu vrátane reťazcov, čísel, záznamov a tabuliek.Context variables can hold any value, including strings, numbers, records, and tables.

Zmeňme náš sčítací stroj pomocou kontextovej premennej:Let's rebuild our adding machine by using a context variable:

  1. Pridajte ovládací prvok zadávania textu s názvom TextInput1 a dve tlačidlá, s názvom Button1 a Button2.Add a text-input control, named TextInput1, and two buttons, named Button1 and Button2.

  2. Nastavte vlastnosť Text tlačidla Button1 na hodnotu Add (Pridať) a vlastnosť Text tlačidla Button2 na hodnotu Clear (Vymazať).Set the Text property of Button1 to "Add", and set the Text property of Button2 to "Clear".

  3. Ak chcete aktualizovať medzisúčet vždy, keď používateľ stlačí tlačidlo Add (Pridať), nastavte jeho vlastnosť OnSelect na tento vzorec:To update the running total whenever a user selects the Add button, set its OnSelect property to this formula:

    UpdateContext ({RunningTotal: RunningTotal + TextInput1})UpdateContext( { RunningTotal: RunningTotal + TextInput1 } )

    Samotná existencii tohto vzorca zavádza RunningTotal ako kontextovej premennej, ktorý obsahuje čísla z dôvodu + operátor.The mere existence of this formula establishes RunningTotal as a context variable that holds a number because of the + operator. Môžete odkazovať na RunningTotal kdekoľvek na tejto obrazovke.You can reference RunningTotal anywhere in this screen. Vždy, keď používateľ otvorí túto aplikáciu, RunningTotal má počiatočnú hodnotu prázdne.Whenever the user opens this app, RunningTotal has an initial value of blank.

    Po prvý raz, ktorú používateľ vyberie pridať tlačidlo a UpdateContext spustení RunningTotal je nastavená na hodnotu RunningTotal + TextInput1.The first time that the user selects the Add button and UpdateContext runs, RunningTotal is set to the value RunningTotal + TextInput1.

    Vlastnosť OnSelect tlačidla Pridať

  4. Ak chcete nastaviť medzisúčet na hodnotu 0 vždy, keď používateľ stlačí tlačidlo Clear (Vymazať) nastavte vlastnosť OnSelect na tento vzorec:To set the running total to 0 whenever the user selects the Clear button, set its OnSelect property to this formula:

    UpdateContext ({RunningTotal: 0 } )UpdateContext( { RunningTotal: 0 } )

    Opäť UpdateContext sa používa so vzorcom UpdateContext ({RunningTotal: 0 } ).Again, UpdateContext is used with the formula UpdateContext( { RunningTotal: 0 } ).

    Vlastnosť OnSelect tlačidla Vymazať

  5. Pridajte ovládací prvok Označenie a nastavte vlastnosť Text na hodnotu RunningTotal.Add a Label control, and set its Text property to RunningTotal.

    Vzorec sa automaticky prepočíta a zobrazí používateľovi meniacu sa hodnotu RunningTotal podľa toho, ktoré tlačidlá používateľ stlačí.This formula will automatically be recalculated and show the user the value of RunningTotal as it changes based on the buttons that the user selects.

    Vlastnosť textu označenia

  6. Zobrazte ukážku aplikácie, v ktorej sme podľa postupu popísaného vyššie, vytvorili sčítací stroj.Preview the app and we have our adding machine as described above. Zadajte do textového poľa číslo a niekoľkokrát stlačte tlačidlo Pridať.Enter a number in the text box and press the Add button a few times. Keď budete hotoví, vráťte sa k tvorbe stlačením klávesu Esc.When ready, return to the authoring experience using the Esc key.

    Ovládací prvok textu sa zobrazuje hodnotu a označenie spustená celkový počet

  7. Počas prechodu na obrazovku môžete nastaviť hodnotu kontextovej premennej.You can set the value of a context variable while navigating to a screen. Je to užitočné na odovzdávanie kontextov a parametrov z jednej obrazovky na druhú.This is useful for passing "context" or "parameters" from one screen to another. Na preukázanie tejto techniky, vložte obrazovku, tlačidlo a nastavte jeho OnSelect na tento vzorec:To demonstrate this technique, insert a screen, insert a button, and set its OnSelect property to this formula:

    Navigate( Screen1, None, { RunningTotal: -1000 } )Navigate( Screen1, None, { RunningTotal: -1000 } )

    Vlastnosť OnSelect tlačidla

    Podržte stlačený kláves Alt a vyberte toto tlačidlo sa v oboch Zobraziť Screen1 a kontextová premenná RunningTotal do -1000.Hold down the Alt key while you select this button to both show Screen1 and set the context variable RunningTotal to -1000.

    Screen1 je otvorená

  8. Ak chcete zobraziť hodnotu kontextovej premennej, vyberte súbor ponuky a potom vyberte premenné na ľavej table.To show the value of the context variable, select the File menu, and then select Variables in the left-hand pane.

    Premenné možnosť v ponuke súbor

  9. Ak chcete zobraziť kde kontextová premenná používa a definuje, vyberte ju.To show where the context variable is defined and used, select it.

    Zoznam kde premenná používa

Použite kolekciuUse a collection

Nakoniec sa pozrime na vytváranie sčítacieho stroja pomocou kolekcie.Finally, let's look at creating our adding machine with a collection. Keďže kolekcia obsahuje tabuľku, ktorú je možné jednoducho upravovať, nastavíme sčítací stroj, aby uchovával „papierový záznam“ každej hodnoty, ktorú zadáme.Since a collection holds a table that is easy to modify, we will make this adding machine keep a "paper tape" of each value as they are entered.

Ako fungujú kolekcie:How collections work:

  • Kolekcie vytvorte a nastavte pomocou funkcie ClearCollect.Create and set collections by using the ClearCollect function. Namiesto toho môžete použiť funkciu Collect, ale namiesto nahradenia starej premennej bude potrebné vytvoriť ďalšiu premennú.You can use the Collect function instead, but it will effectively require another variable instead of replacing the old one.
  • Kolekcia je tabuľkou, pretože je to určitý druh zdroja údajov.A collection is a kind of data source and, therefore, a table. Ak chcete získať prístup k jednej hodnote v kolekcii, použite funkciu First a z výsledného záznamu extrahujte jedno pole.To access a single value in a collection, use the First function, and extract one field from the resulting record. Ak ste používali jednu hodnotu s funkciou ClearCollect, stane sa poľom Value, ako v tomto príklade:If you used a single value with ClearCollect, this will be the Value field, as in this example:
    First( VariableName ).ValueFirst( VariableName ).Value

Opätovne vytvorme sčítací stroj pomocou kolekcie:Let's recreate our adding machine by using a collection:

  1. Pridajte ovládací prvok zadávania textu s názvom TextInput1 a dve tlačidlá s názvom Button1 a Button2.Add a Text input control, named TextInput1, and two buttons, named Button1 and Button2.

  2. Nastavte vlastnosť Text tlačidla Button1 na hodnotu "Add" (Pridať) a vlastnosť Text tlačidla Button2 na hodnotu "Clear" (Vymazať).Set the Text property of Button1 to "Add", and set the Text property of Button2 to "Clear".

  3. Ak chcete aktualizovať medzisúčet vždy, keď používateľ stlačí tlačidlo Add (Pridať), nastavte jeho vlastnosť OnSelect na tento vzorec:To update the running total whenever a user selects the Add button, set its OnSelect property to this formula:

    Collect( PaperTape, TextInput1.Text )Collect( PaperTape, TextInput1.Text )

    Samotná existencii tohto vzorca zavádza PaperTape ako kolekciu, v ktorom sa nachádza tabuľka s jedným stĺpcom textových reťazcov.The mere existence of this formula establishes PaperTape as a collection that holds a single-column table of text strings. Môžete odkazovať na PaperTape kdekoľvek v tejto aplikácii.You can reference PaperTape anywhere in this app. Vždy, keď používateľ otvorí túto aplikáciu, PaperTape je prázdna tabuľka.Whenever a user opens this app, PaperTape is an empty table.

    Po spustení tento vzorec pridá novú hodnotu na koniec kolekcie.When this formula runs, it adds the new value to the end of the collection. Keďže pridávame jednu hodnotu, zbierať ho automaticky umiestni tabuľka s jedným stĺpcom a názov stĺpca je hodnotu, ktoré použijete neskôr.Because we're adding a single value, Collect automatically places it in a single-column table, and the column's name is Value, which you'll use later.

    Vlastnosť OnSelect tlačidla Pridať

  4. Vymazať papierovú pásku, keď používateľ vyberie Vymazať tlačidlo, nastavte jeho OnSelect na tento vzorec:To clear the paper tape when the user selects the Clear button, set its OnSelect property to this formula:

    Clear( PaperTape )Clear( PaperTape )

    Vlastnosť OnSelect tlačidla Vymazať

  5. Ak chcete zobraziť medzisúčet, pridajte označenie a do jeho vlastnosti Text nastavte tento vzorec:To display the running total, add a label, and set its Text property to this formula:

    Sum( PaperTape, Value )Sum( PaperTape, Value )

    Vlastnosť textu označenia

  6. Ak chcete spustiť sčítací stroj, stlačte kláves F5 a otvorte ukážku. Potom zadajte čísla do ovládacieho prvku zadávania textu a stlačte tlačidlá.To run the adding machine, press F5 to open Preview, enter numbers in the text-input control, and select buttons.

    Ovládací prvok vstup textu zobrazí hodnota a označenie Zobraziť Medzisúčet

  7. Ak sa chcete vrátiť do predvoleného pracovného priestoru, stlačte kláves Esc.To return to the default workspace, press the Esc key.

  8. Ak chcete zobraziť papierovú pásku, vložte ovládací prvok Tabuľka údajov a nastavte jej vlastnosť Items na tento vzorec:To display the paper tape, insert a Data table control, and set its Items property to this formula:

    PaperTapePaperTape

    Na pravej table vyberte hodnotu stĺpec, čím ich zobrazíte.In the right-hand pane, select the Value column to show it.

    Tabuľka údajov, ktorý zobrazuje hodnoty pridať do kolekcie

  9. Ak chcete zobraziť hodnoty v kolekcii, vyberte položku Kolekcie v ponuke Súbor.To see the values in your collection, select Collections on the File menu.

    Ukážka PaperTape kolekcie

  10. Chcete ukladať a obnoviť kolekciu, pridajte dva ďalšie ovládacie prvky tlačidiel a ich Text vlastností načítanie a Uložiť.To store and retrieve your collection, add two additional button controls, and set their Text properties to Load and Save. Nastaviť OnSelect vlastnosť načítania tlačidlo na tento vzorec:Set the OnSelect property of the Load button to this formula:

    Clear( PaperTape ); LoadData( PaperTape, "StoredPaperTape", true )Clear( PaperTape ); LoadData( PaperTape, "StoredPaperTape", true )

    Je potrebné vymazať kolekciu po prvé, pretože LoadData pripojí uložené hodnoty na koniec kolekcie.You need to clear the collection first because LoadData will append the stored values to the end of the collection.

    Vlastnosť OnSelect tlačidla na načítanie

  11. Nastaviť OnSelect vlastnosť Uložiť tlačidlo na tento vzorec:Set the OnSelect property of the Save button to this formula:

    SaveData( PaperTape, "StoredPaperTape" )SaveData( PaperTape, "StoredPaperTape" )

    Vlastnosť OnSelect * tlačidla Uložiť

  12. Zobrazte ukážku stlačením klávesu F5, zadajte čísla do ovládacieho prvku zadávania textu a stlačte tlačidlá.Preview again by pressing the F5 key, enter numbers in the text-input control, and select buttons. Stlačte tlačidlo Save (Uložiť).Select the Save button. Zavrieť a znova načítajte aplikáciu, a načítania tlačidlo na opätovné načítanie kolekcie.Close and reload the app, and select the Load button to reload your collection.

Poznámka

SaveData a LoadData funkcia v PowerApps Mobile, ale PowerApps Studio alebo webového prehrávača pre PowerApps.SaveData and LoadData function in PowerApps Mobile but not PowerApps Studio or the web player for PowerApps.