Споделяне чрез


Императивна логика

Бележка

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()

Действията се извършват в реда, в който се появяват във формулата. Следващата функция няма да започне, докато текущата функция не приключи. Ако възникне грешка, следващите функции може да не стартират.