Бележка
Достъпът до тази страница изисква удостоверяване. Можете да опитате да влезете или да промените директориите.
Достъпът до тази страница изисква удостоверяване. Можете да опитате да промените директориите.
Отнася се за: Приложения за платно
Създава или актуализира контекстни променливи на текущия екран.
Преглед
Използвайте функцията UpdateContext , за да създадете контекстна променлива, която временно съдържа информация, като например колко пъти потребителят е избрал бутон или резултат от операция с данни.
Контекстните променливи са обхванати до екран, което означава, че не можете да изградите формула, която се отнася до контекстна променлива на друг екран. Ако сте използвали друг инструмент за програмиране, можете да мислите за контекстна променлива като подобна на локална променлива. Използвайте функцията Set, за да работите с глобални променливи, които са достъпни във вашето приложение.
Power Apps се основават на формули, които автоматично преизчисляват, докато потребителят взаимодейства с приложение. Контекстните променливи не предлагат това предимство и може да направи приложението ви по-трудно за създаване и разбиране. Преди да използвате контекстна променлива, прегледайте работа с променливи.
Описание
За да създадете или актуализирате контекстна променлива, подайте един запис на UpdateContext функцията. Във всеки запис посочете името на колона, която определя или съвпада с името на променливата и стойността, на която искате да зададете тази променлива.
- Ако зададете името на променлива, която преди това сте дефинирали, UpdateContext задава стойността на променливата на зададената от вас стойност.
- Ако зададете името на променлива, която все още не съществува, UpdateContext създава променлива с това име и задава стойността на тази променлива на зададената от вас стойност.
- Ако преди това сте дефинирали променлива, но не я задавате в тази конкретна UpdateContext формула, нейната стойност остава същата.
Контекстните променливи се създават неявно с помощта на UpdateContext функцията или Навигиране. Не е необходима изрична декларация. Ако премахнете всички препратки и навигиранеUpdateContext към контекстна променлива, тази контекстна променлива ще престане да съществува. За изчистване на променлива задайте нейната стойност на резултата от функцията Blank.
Можете да видите стойностите, дефинициите и употребите на променливите си с изгледа Променливи под менюто Файл в средата за създаване.
Препращате контекстна променлива във формула, като използвате името на колоната на променливата. Например UpdateContext( { ShowLogo: true } ) създава контекстна променлива с име ShowLogo и задава стойността й на "истина". След това можете да използвате стойността на тази променлива на контекста, като използвате името ShowLogo във формула. Можете да пишете ShowLogo като формула за свойството видимо на контрола на изображението и да го покаже или скрие, въз основа на това дали стойността на променливата на контекста е вярно или невярно.
Както показват примерите по-късно в тази тема, променливите на контекста могат да съдържат няколко вида информация, включително тази:
- една единствена стойност
- запис
- таблица
- препратка към обект
- всеки резултат от формула
Контекстната променлива държи стойността си, докато приложението не се затвори. Ако дефинирате контекстна променлива и зададете нейната стойност на определен екран, тази информация остава непокътната, дори ако потребителят премине към друг екран. След като приложението се затвори, стойността на контекстната променлива ще бъде загубена и трябва да бъде пресъздадена, когато приложението се зареди отново.
Всяка променлива на контекста се присвоява на екран. Ако искате да определите контекстна променлива на един екран и да промените тази променлива от друг екран, трябва да изградите формула, която се основава на Navigate функция. Или използвайте глобална променлива.
UpdateContext няма върната стойност и можете да я използвате само във формула за поведение.
Синтаксис
UpdateContext( UpdateRecord )
- UpdateRecord – Задължително. Запис, който съдържа името на поне една колона и стойност за тази колона. Контекстна променлива се създава или актуализира за всяка колона и стойност, която посочвате.
UpdateContext( { ContextVariable1: Стойност1 [, ContextVariable2: Стойност2 [, ... ] ] } )
- ContextVariable1 - Задължително. Името на контекстна променлива за създаване или актуализиране.
- Стойност1 - Задължително. Стойността, която се присвоява на контекстната променлива.
- ContextVariable2: Value2, ... - По избор. Допълнителни контекстни променливи за създаване или актуализиране и техните стойности.
Примери
| Формула | Описание | Резултат |
|---|---|---|
| UpdateContext( { брояч: 1 } ) | Създава или променя променливата на контекста Counter, задавайки стойността си на 1. | Броячът има стойност 1. Можете да се позовавате на тази променлива, като използвате името Counter във формула. |
| UpdateContext( { брояч: 2 } ) | Задава стойността на Counter контекстна променлива от предишния пример до 2. | Броячът има стойност 2. |
| UpdateContext( { Име: "Лили", резултат: 10 } ) | Създава или променя променливите на контекста име и резултат, задавайки стойностите им на лилия и 10 съответно. | Името има стойност Лили, а резултатът има стойност 10. |
| UpdateContext( { person: { name: "Milton", адрес: "1 Main St" } ) | Създава или променя променливата на контекста Person, задавайки стойността си на запис. Записът съдържа две колони, наречени име и адрес. Стойността на име колоната е Милтън, и стойността на адрес колоната е 1 Main St. |
Лицето има стойността на записа { Име: "Милтън", Адрес: "1 Main St". } } Посочете този запис като цяло с името Person или се позовавайте на отделна колона от този запис Person.Name или Person.Address. |
| UpdateContext( {person: Patch( лице, {Address: "2 Main St" } ) } ) | Работи с Patch функция за актуализиране на Person контекстна променлива чрез задаване на стойността на адрес колона на 2 Main St. | Лицето вече има стойността на записа { Име: "Милтън", Адрес: "2 Main St". } } |
Пример стъпка по стъпка 1
Дайте име на екрана по подразбиране Източник, добавете друг екран и го наименувайте Цел.
На екрана източник, добавете два бутона и задайте техните Текст свойства, така че единият да гласи Английски, а другият Испански.
Задайте свойството OnSelect на бутона Английски на този израз:
Navigate(Target, ScreenTransition.Fade,Език {:"English"})Задайте свойството OnSelect на бутона Испански на този израз:
Navigate(Target, ScreenTransition.Fade,Език {:"Испански"})На екрана Цел добавете етикет и задайте свойството Текст на този израз:
if(language="английски", "здравей!", "здравей!")На екрана Цел изберете Shapes на Insert и след това изберете стрелката Назад.
Задайте свойството OnSelect на стрелката Назад на тази формула:
Navigate(Източник, ScreenTransition.Fade)От екрана Източник, натиснете F5 и след това изберете бутона за всеки език.
На екрана Цел етикетът се появява на езика, който съответства на избрания от вас бутон.
Изберете стрелката Назад, за да се върнете към източник екрана и след това изберете бутона за другия език.
На екрана Цел етикетът се появява на езика, който съответства на избрания от вас бутон.
Натиснете Esc, за да се върнете към работното пространство по подразбиране.
Пример стъпка по стъпка 2
- Отворете приложението за платно, където искате да използвате тази формула.
- Добавете нов празен екран, като изберете Нов екран от командната лента.
- Добавете бутон и задайте свойството OnSelect на тази формула:
UpdateContext( { Име: "Лили", резултат: 10 } )