Maakt contextvariabelen voor het huidige scherm of werkt ze bij.

Overzicht

Gebruik de functie UpdateContext om een contextvariabele te maken die tijdelijk een stukje informatie opslaat, zoals het aantal keren dat de gebruiker een knop heeft geselecteerd of het resultaat van een gegevensbewerking.

Contextvariabelen hebben als bereik een scherm, wat betekent dat u geen formule kunt maken die verwijst naar een contextvariabele op een ander scherm. Als u wel eens een ander programmeerhulpmiddel hebt gebruikt, kunt u een contextvariabele vergelijken met een lokale variabele. Als u het equivalent van een globale variabele wilt, maakt u een verzameling met behulp van de functie Collect of ClearCollect.

PowerApps zijn gebaseerd op formules die automatisch opnieuw worden berekend terwijl de gebruiker de app gebruikt. Contextverzamelingen bieden dit voordeel niet, waardoor uw app mogelijk moeilijker te ontwikkelen en te begrijpen is. Raadpleeg werken met variabelen voordat u een contextvariabele gebruikt.

Beschrijving

Als u een contextvariabele wilt maken of bijwerken, geeft u één record door aan de functie UpdateContext. Geef in elke record de naam op van een kolom die de naam bepaalt van de variabele en een waarde waarop u die variabele wilt instellen.

  • Als u de naam opgeeft van een variabele die u eerder hebt gedefinieerd, stelt UpdateContext de waarde van de variabele in op de opgegeven waarde.
  • Als u de naam opgeeft van een variabele die nog niet bestaat, maakt UpdateContext een variabele met die naam en stelt de waarde van die variabele in op de opgegeven waarde.
  • Als u eerder een variabele hebt gedefinieerd, maar deze variabele niet opgeeft in deze UpdateContext-formule, blijft de waarde ervan ongewijzigd.

U kunt een contextvariabele niet verwijderen nadat u deze hebt gedefinieerd.

U verwijst naar een contextvariabele in een formule door de kolomnaam van de variabele te gebruiken. Zo maakt UpdateContext( { LogoTonen: true } ) bijvoorbeeld een contextvariabele met de naam LogoTonen, waarvan de waarde wordt ingesteld op true. Vervolgens kunt u de waarde van deze contextvariabele gebruiken door de naam LogoTonen te gebruiken in een formule. U kunt LogoTonen gebruiken als formule voor de eigenschap Visible van een afbeeldingsbesturingselement en dat element weergeven of verbergen, afhankelijk van het feit of de waarde van de contextvariabele true of false is.

Zoals de voorbeelden verderop in dit onderwerp laten zien, kunnen contextvariabelen verschillende soorten informatie bevatten, waaronder de volgende:

  • één waarde
  • een record
  • een verzameling
  • een verwijzing naar een object
  • een resultaat van een formule

Een contextvariabele behoudt zijn waarde totdat de gebruiker de app sluit. Als u een contextvariabele definieert en de waarde ervan instelt in een bepaald scherm, blijft die informatie behouden, zelfs als de gebruiker overschakelt naar een ander scherm.

Het bereik van elke contextvariabele is een scherm. Als u een contextvariabele wilt definiëren op het ene scherm en die variabele wilt wijzigen vanaf een ander scherm, moet u een formule maken die is gebaseerd op de functie Navigate.

UpdateContext heeft geen retourwaarde en u kunt deze functie alleen gebruiken in een gedragsformule.

Syntaxis

UpdateContext( UpdateRecord )

  • UpdateRecord - vereist. Een record die de naam bevat van ten minste één kolom en een waarde voor die kolom. Er wordt een contextvariabele gemaakt of bijgewerkt voor elke kolom en waarde die u opgeeft.

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

  • ContextVariable1 - vereist. De naam van de contextvariabele die moet worden gemaakt of bijgewerkt.
  • Value1 - vereist. De waarde die moet worden toegewezen aan de contextvariabele.
  • ContextVariable2: Value2,... - optioneel. Aanvullende contextvariabelen die u wilt maken of bijwerken en hun waarden.

Voorbeelden

Formule Beschrijving Resultaat
UpdateContext( { Teller: 1 } ) Hiermee maakt of wijzigt u de contextvariabele Teller en stelt u de waarde in op 1. Teller heeft de waarde 1. U kunt verwijzen naar die variabele door de naam Teller in een formule te gebruiken.
UpdateContext( { Teller: 2 } ) Hiermee stelt u de waarde van de contextvariabele Teller uit het vorige voorbeeld in op 2. Teller heeft de waarde 2.
UpdateContext( { Naam: "Loes", Score: 10 } ) Hiermee maakt of wijzigt u de contextvariabelen Naam en Score en stelt u de waarden in op respectievelijk Loes en 10. Naam heeft de waarde Loes, en Score heeft de waarde 10.
UpdateContext( { Persoon: { Naam: "Jobse", Adres: "Grote Markt 1" } } ) Hiermee maakt of wijzigt u de contextvariabele Persoon en stelt u de waarde in op een record. De record bevat twee kolommen, genaamd Naam en Adres. De waarde van de kolom Naam is Jobse en de waarde van de kolom Adres is Oude Markt 1. Persoon heeft de waarde van record { Naam: "Jobse", Adres: "Grote Markt 1" } }.

U kunt verwijzen naar deze record in zijn geheel met de naam Persoon of u kunt verwijzen naar een afzonderlijke kolom in deze record met Persoon.Naam of Persoon.Adres.
UpdateContext( { Persoon: Patch ( Persoon, {Adres: "Grote Markt 2" } ) } ) Gebruikt de functie Patch om de contextvariabele Persoon bij te werken door de waarde van de kolom Adres te wijzigen in Grote Markt 2. Persoon heeft nu de waarde van record { Naam: "Jobse", Adres: "Grote Markt 2" } }.

Stapsgewijs voorbeeld

  1. Noem het standaardscherm Bron, voeg een scherm toe en noem dit scherm Doel.

  2. Voeg op het scherm Bron twee knoppen toe en stel de eigenschap Text van de ene knop in op Engels en van de andere knop op Spaans.

  3. Stel de eigenschap OnSelect van de knop Engels in op deze formule:
    Navigate(Doel, ScreenTransition.Fade, {Taal:"Engels"})

  4. Stel de eigenschap OnSelect van de knop Spaans in op deze formule:
    Navigate(Doel, ScreenTransition.Fade, {Taal:"Spaans"})

  5. Voeg een label toe aan het scherm Doel en stel de eigenschap Text in op deze expressie:
    If(Taal="Engels", "Hello!", "Hola!")

  6. Selecteer Vormen op het tabblad Invoegen op het scherm Doel en selecteer vervolgens de pijl terug.

  7. Stel de eigenschap OnSelect van de pijl terug in op deze formule:
    Navigate(Bron, Schermovergang.Fade)

  8. Druk op het scherm Bron op F5 en selecteer de knop voor een van de talen.

    Op het scherm Doel wordt het label weergegeven in de taal die overeenkomt met de geselecteerde knop.

  9. Selecteer de pijl terug om terug te keren naar het scherm Bron en selecteer vervolgens de knop voor de andere taal.

    Op het scherm Doel wordt het label weergegeven in de taal die overeenkomt met de geselecteerde knop.

  10. Druk op Esc om terug te gaan naar de standaardwerkruimte.

Een ander voorbeeld