Megosztás:


UpdateContext függvény

A következőkre vonatkozik: Vászonalapú alkalmazások

Ez a függvény az aktuális képernyő környezeti változóinak létrehozására, illetve frissítésére használható.

Áttekintés

UpdateContext A függvény használatával hozzon létre egy környezeti változót, amely ideiglenesen tartalmaz egy információt, például azt, hogy a felhasználó hányszor jelölt ki gombot vagy egy adatművelet eredményét.

A környezeti változók hatóköre egyetlen képernyőre korlátozódik, vagyis nem írhatók olyan képletek, amelyek egy másik képernyő környezeti változóira hivatkoznak. A környezeti változók a más programozási eszközökben használt helyi változókhoz hasonlíthatók. Ha globális, az egész alkalmazásban elérhető változókat szeretne megadni, használja a Set függvényt.

Power Apps megoldások olyan képleteken alapulnak, amelyek automatikusan újból elvégzik a számításokat, amikor a felhasználó használja az alkalmazást. A környezeti változók kapcsán ez az előny nem érvényesül, ezért használatuk megnehezítheti az alkalmazás létrehozását és működésének megértését. A környezeti változók használata előtt olvassa el a változók használatáról szóló cikket.

Ismertetés

Környezeti változó létrehozásához vagy frissítéséhez adjon át egy rekordot a UpdateContext függvénynek. Mindegyik rekordban adja meg annak az oszlopnak a nevét, amely meghatározza a változó nevét vagy egyezik azzal, valamint azt az értéket, amelyet a változónak adni szeretne.

  • Ha egy korábban definiált változó nevét adja meg, UpdateContext a változó értékét a megadott értékre állítja.
  • Ha egy még nem létező változó nevét adja meg, létrehoz egy ilyen nevű változót, UpdateContext és a változó értékét a megadott értékre állítja.
  • Ha korábban definiált egy változót, de ebben a UpdateContext képletben nem adja meg, az értéke változatlan marad.

A környezeti változók implicit módon jönnek létre a UpdateContextNavigálás függvénnyel. Explicit deklarálásra nincs szükség. Ha eltávolítja egy UpdateContext környezeti változóra mutató összes és navigálási hivatkozást, a környezeti változó megszűnik. Egy változó törléséhez tegye egyenlővé az értékét Blank függvény eredményével.

A szerzői környezet Fájl menüjéből elérhető Változók nézetben megtekintheti a változók értékét, definícióját és használatát.

A képletekben az oszlopuk nevével hivatkozhat a környezeti változókra. Például UpdateContext( { ShowLogo: true } ) létrehoz egy ShowLogo nevű környezeti változót, és igaz értékre állítja az értékét. A környezeti változó értékét képletekben az ShowLogo névre hivatkozva használhatja fel. Az ShowLogo változót egy kép típusú vezérlő Visible tulajdonságában használva szabályozhatja a kép megjelenítését, illetve elrejtését az alapján, hogy a változó értéke true (igaz) vagy false (hamis).

A témakör későbbi példái bemutatják, hogy a környezeti változók többfajta információt, például a következőket tárolhatják:

  • egy érték
  • egy rekord
  • egy tábla
  • egy objektumhivatkozás
  • egy képlet bármilyen eredménye

A környezeti változók az alkalmazás bezárásáig őrzik meg értéküket. Ha definiál egy környezeti változót, és valamelyik képernyőn megadja az értékét, ez az információ akkor is megőrződik, ha a felhasználó az alkalmazás egy másik képernyőjére vált. Az alkalmazás bezárásakor a környezeti változó értéke elveszik, és újból létre kell hozni az alkalmazás következő betöltésekor.

Minden környezeti változó hatóköre egy adott képernyőre terjed ki. Ha az egyik képernyőn definiált környezeti változót egy másik képernyőn szeretné módosítani, a Navigate függvény alapján kell képletet írnia. Másik megoldásként globális változót is létrehozhat.

UpdateContext nincs visszatérési értéke, és csak egy viselkedési képleten belül használhatja.

Szintaxis

UpdateContext( UpdateRecord )

  • UpdateRecord – Kötelező. Egy rekord, amely legalább egy oszlop nevét és értékét tartalmazza. Minden megadott oszlophoz és értékhez létrejön, illetve frissül a környezeti változó.

UpdateContext( { ContextVariable1: Value1 [, ContextVariable2: Value2 [, ... ] ] } )

  • ContextVariable1 - Kötelező. A létrehozandó, illetve frissítendő környezeti változó neve.
  • Érték1 - Kötelező. A környezeti változóhoz rendelendő érték.
  • ContextVariable2: Value2, ... - Nem kötelező. További létrehozandó, illetve frissítendő környezeti változók és azok értéke.

Példák

Képlet Ismertetés Eredmény
UpdateContext( { Counter: 1 } ) A függvény létrehozza vagy módosítja a Számláló nevű környezeti változót, és az 1 értéket adja neki. A számláló értéke 1. A változó a Számláló névre hivatkozva használható fel képletekben.
UpdateContext( { Counter: 2 } ) Az előző példában létrehozott Számláló környezeti változó értékét 2-re módosítja. A számláló értéke 2.
UpdateContext( { Name: "Lily", Score: 10 } ) A függvény létrehozza vagy módosítja a Név és a Pontszám környezeti változót, és az előbbinek a Tímea, az utóbbinak pedig a 10 értéket adja. A Name értéke Lily, a Score értéke pedig 10.
UpdateContext( { Person: { Name: "Milton", Address: "1 Main St" } } ) A függvény létrehozza vagy módosítja a Személy nevű környezeti változót, és egy rekordot ad neki értékként. A rekord két oszlopot tartalmaz: Name és Address. A Name oszlop értéke Milton, az Address oszlop értéke pedig 1 Main St. A személy értéke rekordnév { : "Milton", cím: "1 Main St". } }

A rekord egészére a Person névvel, a rekord egyes oszlopaira pedig a Person.Name vagy a Person.Address névvel hivatkozhat.
UpdateContext( { Person: Patch( Person, {Address: "2 Main St" } ) } ) A függvény a Patch függvényt használva frissíti a Személy környezeti változót úgy, hogy a Cím oszlopnak a Fő út 2. értéket adja. A személy most már a rekord { értéke Név: "Milton", Cím: "2 Main St". } }

Részletes példa 1.

  1. Adja az alapértelmezett képernyőnek a Forrás nevet, majd vegyen fel még egy képernyőt, és adja neki a Cél nevet.

  2. A Forrás képernyőhöz adjon hozzá két gombot, és az egyik gomb Text tulajdonságának adja a Magyar, a másikénak pedig a Spanyol értéket.

  3. A Magyar feliratú gomb OnSelect tulajdonságának értékeként adja meg a következő kifejezést:
    Navigate(Cél, ScreenTransition.Fade,Nyelv {:"Angol"})

  4. A Spanyol feliratú gomb OnSelect tulajdonságának értékeként adja meg a következő kifejezést:
    Navigate(cél, ScreenTransition.Fade,Nyelv {:"spanyol"})

  5. A Cél képernyőhöz adjon hozzá egy feliratot, és a Text tulajdonságának értékeként adja meg a következő kifejezést:
    if(language="English", "hello!", "hola!")

  6. A Cél képernyőn válassza a Beszúrás lapon az Alakzatok, majd pedig a Vissza nyíl lehetőséget.

  7. A Vissza nyíl típusú alakzat OnSelect tulajdonságának értékeként adja meg a következő képletet:
    Navigate(Forrás, ScreenTransition.Fade)

  8. A Forrás képernyőn nyomja le az F5 billentyűt, majd kattintson valamelyik nyelv gombjára.

    A Cél képernyőn a felirat azon a nyelven fog megjelenni, amelyiknek a gombjára kattintott.

  9. A Vissza nyíl alakzatra kattintva térjen vissza a Forrás képernyőre, és kattintson a másik nyelv gombjára.

    A Cél képernyőn a felirat azon a nyelven fog megjelenni, amelyiknek a gombjára kattintott.

  10. Az Esc billentyű lenyomásával térhet vissza az alapértelmezett munkaterületre.

Részletes példa 2.

  1. Nyissa meg a vászonalapú alkalmazást, ahol használni szeretné ezt a képletet.
  2. Vegyen fel egy új üres képernyőt a parancssáv Új képernyő elemével.
  3. Adjon hozzá egy gombot, és a Kiválasztáskor tulajdonság értékeként adja meg ezt a képletet:
    UpdateContext( { Name: "Lily", Score: 10 } )