Dela via


Imperativ logik

Kommentar

Microsoft Power Fx är det nya namnet på formelspråket för arbetsyteappar. Dessa artiklar är ett arbete som pågår när vi extraherar språket från program, integrerar det med andra Microsoft Power Platform produkter och gör det tillgängligt som öppen källkod. Börja med Microsoft Power Fx översikten för en introduktion till språket.

De flesta formler i Microsoft Power Fx beräknar ett värde. Precis som i ett Excel-kalkylblad sker omberäkningen automatiskt när värdena ändras. Du kan till exempel vilja visa värdet i kontrollen Label i rött om värdet är mindre än noll och annars i svart. Därför kan du ställa in Color-egenskapen för kontrollen enligt den här formeln:

If( Value(TextBox1.Text) >= 0, Color.Black, Color.Red )

Vad innebär det i det här sammanhanget när användaren väljer en Button-kontroll? Inget värde har ändrats så det finns inget nytt att beräkna. Excel har ingen motsvarighet till en Button-kontroll.

Genom att välja en Button-kontroll startar användaren en sekvens med åtgärder, eller beteenden, som ändrar status för programmet:

  • Ändra skärmen som visas: Funktionerna Back och Navigate.
  • Kontrollera en signal (Power Apps endast): Enable och Disable.
  • Ladda om, uppdatera eller ta bort objekt i en datakälla: funktionerna Refresh, Update, UpdateIf, Patch, Remove, RemoveIf.
  • Uppdatera en kontextvariabel (Power Apps endast arbetsyta): funktionen UpdateContext.
  • Skapa, uppdatera eller ta bort objekt i en samling: Funktionerna Collect, Clear, ClearCollect.

Eftersom dessa funktioner ändrar statusen för appen, kan de inte räknas om automatiskt. Du kan använda dem i formlerna för egenskaperna OnSelect, OnVisible, OnHidden och andra On... egenskaper som kallas beteendeformler.

Mer än en åtgärd

Använd semikolon för att skapa en lista med åtgärder som ska utföras. Du kan till exempel vilja uppdatera en kontextvariabel och sedan gå tillbaka till föregående skärm:

UpdateContext( { x: 1 } ); Back()

Åtgärderna utförs i den ordning som de visas i formeln. Nästa funktion startar inte förrän den aktuella funktionen har slutförts. Om ett fel inträffar kan det hända att följande funktioner inte startar.