Sdílet prostřednictvím


Imperativní logika

Poznámka:

Microsoft Power Fx je nový název jazyka vzorců pro aplikace plátna. Práce na těchto článcích stále probíhá, jak extrahujeme jazyk z aplikací plátna, integrujeme jej s ostatními produkty Microsoft Power Platform a zpřístupňujeme jako open source. Začněte v části Přehled jazyka Microsoft Power Fx obsahující úvod do jazyka.

Většina vzorců v Microsoft Power Fx počítá hodnotu. Jako v excelové tabulce probíhá přepočítání automaticky při změně hodnot. Budete třeba chtít zobrazit hodnotu v ovládacím prvku Popisek červeně, pokud bude menší než nula, a v ostatních případech černě. Takže můžete nastavit vlastnost Color na tento vzorec:

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

Co v tomto kontextu znamená, když uživatel vybere ovládací prvek Tlačítko? Nezměnila se žádná hodnota, takže není nic nového k výpočtu. Excel nemá žádný ekvivalent k ovládacímu prvku Tlačítko.

Výběrem ovládacího prvku Tlačítko uživatel spustí posloupnost akcí, neboli chování, které změní stav aplikace:

  • Změna zobrazené obrazovky: funkce Back.
  • Řízení signálu (pouze Power Apps): funkce Enable a Disable.
  • Aktualizace nebo odebrání položek ve zdroji dat: funkce Refresh, Update, UpdateIf, Patch, Remove, RemoveIf.
  • Aktualizace kontextové proměnné (pouze plátno Power Apps): funkce UpdateContext.
  • Vytvoření, aktualizace nebo odebrání položek v kolekci: funkce Collect, Clear, ClearCollect.

Tyto funkce změní stav aplikace, nejdou proto přepočítat automaticky. Můžete je použít ve vzorcích pro vlastnosti OnSelect, OnVisible, OnHidden a jiné vlastnosti On..., které se nazývají vzorce chování.

Více než jedna akce

K vytvoření seznamu akcí, které se mají provést, použijte středníky. Můžete například chtít aktualizovat kontextovou proměnnou a pak se vrátit na předchozí obrazovku:

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

Akce se provádějí v pořadí, ve kterém se nacházejí ve vzorci. Další funkce se spustí až po provedení aktuální funkce. Pokud dojde k chybě, následující funkce se nemusí spustit.