Императивна логика
Бележка
Microsoft Power Fx е новото име за езика на формули за приложения за платно. Тези статии са в процес на разработка, тъй като извличаме езика от приложенията на платното и го интегрираме с други продукти на Microsoft Power Platform и го направете достъпен като отворен код. Започнете с общ преглед на Microsoft Power Fx за въведение в езика.
Повечето формули в Microsoft Power Fx изчисляват стойност. Подобно на електронната таблица в Excel, преизчисляването става автоматично, когато стойностите се променят. Например, може да искате да покажете стойността в контрола етикет в червено, ако стойността е по-малка от нула или в черно по друг начин. Така че можете да зададете свойството цвят на този контрол върху тази формула:
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()
Действията се извършват в реда, в който се появяват във формулата. Следващата функция няма да започне, докато текущата функция не приключи. Ако възникне грешка, следващите функции може да не стартират.