Императивна логика
Белешка
Microsoft Power Fx је ново име за језик формула за апликације са подлогом. Ови чланци су у изради док издвајамо језик из апликација на платну, интегришемо га са другим Microsoft Power Platform производима и чинимо га доступним у виду отвореног кода. Почните са Microsoft Power Fx прегледом за увод у језик.
Већина формула у услузи Microsoft Power Fx израчунавају вредност. Попут Excel унакрсне табеле, поновно израчунавање се дешава аутоматски како се вредности мењају. На пример, можда желите да прикажете вредност у контроли Ознака црвеном бојом ако је вредност мања од нуле или црном ако је већа. Тако можете да поставите својство Color те контроле према овој формули:
If( Value(TextBox1.Text) >= 0, Color.Black, Color.Red )
У овом контексту, шта значи кад корисник изабере контролу Дугме? Ниједна вредност није промењена, тако да нема шта ново да се израчуна. Excel нема еквивалент контроли Дугме.
Одабиром контроле Дугме, корисник покреће низ радњи или понашања који ће променити стање апликације:
- Промените приказан екран: Функције Back.
- Контролишите сигнал (само Power Apps): функције Enable и Disable.
- Освежите, ажурирајте или уклоните ставке у извору података: функције Refresh, Update, UpdateIf, Patch, Remove, RemoveIf.
- Ажурирајте променљиву контекста (само Power Apps са подлогом): функција UpdateContext.
- Креирајте, ажурирајте или уклоните ставке у колекцији: функције Collect, Clear, ClearCollect.
Будући да ове функције мењају стање апликације, не могу се аутоматски поново израчунати. Можете их користити у формулама за OnSelect, OnVisible, OnHidden и друга On... својства која се називају формулама понашања.
Више од једне радње
Користите тачку-зарез за креирање листе радњи које треба извести. На пример, можда бисте желели да ажурирате променљиву контекста и да се затим вратите на претходни екран:
UpdateContext( { x: 1 } ); Back()
Радње се изводе редоследом којим су приказане у формули. Следећа функција се неће покренути све док се тренутна функција не заврши. Ако дође до грешке, наредне функције се можда неће покренути.