PowerApps'teki UpdateContext işleviUpdateContext function in PowerApps

Geçerli ekranın bağlam değişkenlerini oluşturur veya güncelleştirir.Creates or updates context variables of the current screen.

Genel BakışOverview

Kullanıcının bir düğmeyi kaç kez seçtiği veya bir veri işleminin sonucu gibi bir bilgiyi geçici olarak saklayan bir bağlam değişkeni oluşturmak için UpdateContext işlevini kullanın.Use the UpdateContext function to create a context variable, which temporarily holds a piece of information, such as the number of times the user has selected a button or the result of a data operation.

Bağlam değişkenlerinin kapsamı bir ekranla sınırlıdır; başka bir deyişle, farklı bir ekranda bağlam değişkenine başvuran bir formül oluşturamazsınız.Context variables are scoped to a screen, which means that you can't build a formula that refers to a context variable on another screen. Başka bir programlama aracı kullandıysanız bağlam değişkenini, yerel değişkene benzer olarak düşünebilirsiniz.If you've used another programming tool, you can think of a context variable as similar to a local variable. Uygulamanız genelinde mevcut olan genel değişkenlerle çalışmak için Set işlevini kullanın.Use the Set function to work with global variables that are available throughout your app.

PowerApps, kullanıcı bir uygulama ile etkileşim kurdukça otomatik olarak yeniden hesaplanan formülleri temel alır.PowerApps are based on formulas that automatically recalculate as the user interacts with an app. Bu avantajı sunmayan bağlam değişkenleri uygulamanızın oluşturulmasını ve anlaşılmasını zorlaştırabilir.Context variables don't offer this benefit and can make your app harder to create and understand. Bağlam değişkeni kullanmadan önce değişkenlerle çalışma bölümünü gözden geçirin.Before you use a context variable, review working with variables.

AçıklamaDescription

Bağlam değişkeni oluşturmak veya güncelleştirmek için UpdateContext işlevine tek bir kayıt geçirin.To create or update a context variable, pass a single record to the UpdateContext function. Her bir kayıtta, değişkenin adını tanımlayan veya değişkenin adıyla eşleşen bir sütun adını ve bu değişkeni ayarlamak istediğiniz değeri belirtin.In each record, specify the name of a column, which defines or matches the name of the variable, and the value to which you want to set that variable.

  • Önceden tanımladığınız bir değişkenin adını belirtirseniz UpdateContext, değişkenin değerini, belirttiğiniz değer olarak ayarlar.If you specify the name of a variable that you've previously defined, UpdateContext sets the value of the variable to the value that you specify.
  • Henüz mevcut olmayan bir değişkenin adını belirtirseniz UpdateContext, o adla bir değişken oluşturur ve bu değişkenin değerini, belirttiğiniz değer olarak ayarlar.If you specify the name of a variable that doesn't yet exist, UpdateContext creates a variable with that name and sets the value of that variable to the value that you specify.
  • Önceden bir değişken tanımladıysanız ancak söz konusu UpdateContext formülünde bu değişkeni belirtmediyseniz değişkenin değeri aynı kalır.If you've previously defined a variable but don't specify it in this particular UpdateContext formula, its value remains the same.

Bağlam değişkenleri, UpdateContext veya Navigate işlevi kullanılarak örtük bir şekilde oluşturulur.Context variables are implicitly created by using the UpdateContext or Navigate function. Açık bildirim gerekmez.There is no explicit declaration required. Bir bağlam değişkenine yönelik tüm UpdateContext ve Navigate başvurularını kaldırırsanız söz konusu bağlam değişkeni artık mevcut olmaz.If you remove all the UpdateContext and Navigate references to a context variable, then that context variable will cease to exist. Bir değişkeni silmek için değerini Blank işlevinin sonucuna ayarlayın.To clear a variable set its value to the result of the Blank function.

Yazma ortamında Dosya menüsünün altındaki Değişkenler görünümü sayesinde değişkenlerinizin değerlerini, tanımlarını ve kullanımlarını görebilirsiniz.You can see your variables' values, definitions, and uses with the Variables view under the File menu in the authoring environment.

Değişkenin sütun adını kullanarak bir formülde bağlam değişkenine başvurursunuz.You reference a context variable in a formula by using the variable's column name. Örneğin, UpdateContext( { ShowLogo: true } ), ShowLogo adlı bir bağlam değişkeni oluşturur ve bu bağlam değişkeninin değerini true olarak ayarlar.For example, UpdateContext( { ShowLogo: true } ) creates a context variable named ShowLogo and sets its value to true. Bir formülde ShowLogo adını kullanarak bu bağlam değişkeninin değerini kullanabilirsiniz.You can then use the value of this context variable by using the name ShowLogo in a formula. Bir görüntü denetiminin Visible özelliği için formül olarak ShowLogo yazabilir ve bağlam değişkeni değerinin true mu yoksa false mu olduğuna bağlı olarak bu denetimi gösterebilir veya gizleyebilirsiniz.You can write ShowLogo as the formula for the Visible property of an image control and show or hide that control based on whether the value of the context variable is true or false.

Bu konu başlığının ilerleyen bölümlerinde verilen örneklerde gösterildiği gibi, bağlam değişkenleri aşağıdakiler de dahil olmak üzere çok çeşitli bilgiler içerebilir:As the examples later in this topic show, context variables can hold several kinds of information, including these:

  • tek bir değera single value
  • bir kayıta record
  • bir tabloa table
  • bir nesne başvurusuan object reference
  • bir formüldeki herhangi bir sonuçany result from a formula

Bağlam değişkeni, uygulama kapatılana kadar değerini korur.A context variable holds its value until the app is closed. Belirli bir ekranda bağlam değişkeni tanımlar ve değerini ayarlarsanız kullanıcı farklı bir ekrana geçse de bu bilgiler değişmeden kalır.If you define a context variable and set its value on a particular screen, that information remains intact even if the user switches to a different screen. Uygulama kapatıldıktan sonra bağlam değişkeninin değeri kaybolur ve uygulama tekrar yüklendiğinde değerin yeniden oluşturulması gerekir.Once the app is closed, the context variable's value will be lost and must be recreated when the app is loaded again.

Tüm bağlam değişkenlerinin kapsamı bir ekranla sınırlıdır.Every context variable is scoped to a screen. Bir ekranda bağlam değişkeni tanımlamak ve başka bir ekrandan bu değişkeni değiştirmek istiyorsanız Navigate işlevini temel alan bir formül oluşturmanız gerekir.If you want to define a context variable on one screen and modify that variable from another screen, you must build a formula that's based on the Navigate function. Alternatif olarak, genel değişken kullanabilirsiniz.Or use a global variable.

UpdateContext değer döndürmez ve bu işlevi yalnızca bir davranış formülünde kullanabilirsiniz.UpdateContext has no return value, and you can use it only within a behavior formula.

Söz dizimiSyntax

UpdateContext( GüncelleştirmeKaydı )UpdateContext( UpdateRecord )

  • GüncelleştirmeKaydı: Gerekli.UpdateRecord – Required. En az bir sütun adı ve söz konusu sütun için bir değer içeren kayıt.A record that contains the name of at least one column and a value for that column. Belirttiğiniz her bir sütun ve değer için bir bağlam değişkeni oluşturulur veya güncelleştirilir.A context variable is created or updated for each column and value that you specify.

UpdateContext( { ContextVariable1: Value1 [; ContextVariable2: Value2 [;...]]} )UpdateContext( { ContextVariable1: Value1 [; ContextVariable2: Value2 [; ... ] ] } )

  • BağlamDeğişkeni1: Gerekli.ContextVariable1 - Required. Oluşturulacak veya güncelleştirilecek bir bağlam değişkeninin adı.The name of a context variable to create or update.
  • Değer1: Gerekli.Value1 - Required. Bağlam değişkenine atanacak değer.The value to assign to the context variable.
  • Bağlamdeğişkeni2: Value2,...: isteğe bağlı.ContextVariable2: Value2, ... - Optional. Oluşturulacak veya güncelleştirilecek ek bağlam değişkenleri ve bunların değerleri.Additional context variables to create or update and their values.

ÖrneklerExamples

FormülFormula AçıklamaDescription SonuçResult
UpdateContext( { Counter: 1 } )UpdateContext( { Counter: 1 } ) Counter bağlam değişkenini oluşturur veya değiştirir ve değerini 1 olarak ayarlar.Creates or modifies the context variable Counter, setting its value to 1. Counter, 1 değerine sahiptir.Counter has the value 1. Bir formülde Counter adını kullanarak bu değişkene başvurabilirsiniz.You can reference that variable by using the name Counter in a formula.
UpdateContext( { Counter: 2 } )UpdateContext( { Counter: 2 } ) Bir önceki örnekte yer alan Counter bağlam değişkeninin değerini 2 olarak ayarlar.Sets the value of the Counter context variable from the previous example to 2. Counter, 2 değerine sahiptir.Counter has the value 2.
UpdateContext( { Name: "Lily"; Score: 10 } )UpdateContext( { Name: "Lily"; Score: 10 } ) Name ve Score bağlam değişkenlerini oluşturur veya değiştirir ve değerlerini sırasıyla Lily ve 10 olarak ayarlar.Creates or modifies the context variables Name and Score, setting their values to Lily and 10 respectively. Name Lily değerine, Score ise 10 değerine sahiptir.Name has the value Lily, and Score has the value 10.
UpdateContext( { Person: { Name: "Milton"; Address: "1 Main St" } } )UpdateContext( { Person: { Name: "Milton"; Address: "1 Main St" } } ) Person bağlam değişkenini oluşturur veya değiştirir ve değerini bir kayıt olarak ayarlar.Creates or modifies the context variable Person, setting its value to a record. Bu kayıt, Name ve Address adlı iki sütun içerir.The record contains two columns, named Name and Address. Name sütununun değeri Milton, Address sütununun değeri ise 1 Main St olarak belirlenmiştir.The value of the Name column is Milton, and the value of the Address column is 1 Main St. Person, { Name: "Milton"; Address: "1 Main St" } } kayıt değerine sahiptir.Person has the value of record { Name: "Milton"; Address: "1 Main St" } }.

Person adını kullanarak bu kaydın tamamına başvurabileceğiniz gibi Person.Name veya Person.Address ile bu kayıttaki sütunların birine başvurabilirsiniz.Reference this record as a whole with the name Person, or reference an individual column of this record with Person.Name or Person.Address.
UpdateContext( { Person: Düzeltme Eki ( kişi {adresi: "2 ana St" } )} )UpdateContext( { Person: Patch( Person; {Address: "2 Main St" } ) } ) Patch işleviyle birlikte çalışarak Person bağlam değişkeninin Address sütununu 2 Main St olarak ayarlar.Works with the Patch function to update the Person context variable by setting the value of the Address column to 2 Main St. Person artık { Name: "Milton"; Address: "2 Main St" } } kayıt değerine sahiptir.Person now has the value of record { Name: "Milton"; Address: "2 Main St" } }.

Adım adım örnekStep-by-step example

  1. Varsayılan ekranı Source olarak adlandırın ve başka bir ekran ekleyip Target olarak adlandırın.Name the default screen Source, add another screen, and name it Target.

  2. Source ekranına iki düğme ekleyin ve bunların Text özelliklerini, biri English ve diğeri Spanish olacak şekilde ayarlayın.On the Source screen, add two buttons, and set their Text properties so that one says English and the other says Spanish.

  3. English düğmesinin OnSelect özelliğini şu ifade olarak ayarlayın:Set the OnSelect property of the English button to this expression:
    Navigate(Target; ScreenTransition.Fade; {Language:"English"})Navigate(Target; ScreenTransition.Fade; {Language:"English"})

  4. Spanish düğmesinin OnSelect özelliğini şu ifade olarak ayarlayın:Set the OnSelect property of the Spanish button to this expression:
    Navigate(Target; ScreenTransition.Fade; {Language:"Spanish"})Navigate(Target; ScreenTransition.Fade; {Language:"Spanish"})

  5. Hedef ekranına bir etiket ekleyin ve Text özelliğini şu ifade olarak ayarlayın:On the Target screen, add a label, and set its Text property to this expression:
    If(Language="English"; "Hello!"; "Hola!")If(Language="English"; "Hello!"; "Hola!")

  6. Target ekranındayken Ekle sekmesinde Şekiller'i ve ardından Geri okunu seçin.On the Target screen, select Shapes on the Insert tab, and then select the Back arrow.

  7. Geri okunun OnSelect özelliğini şu formül olarak ayarlayın:Set the Back arrow's OnSelect property to this formula:
    Navigate(Source; ScreenTransition.Fade)Navigate(Source; ScreenTransition.Fade)

  8. Source ekranında F5 tuşuna basın ve iki dilden birine ilişkin düğmeyi seçin.From the Source screen, press F5, and then select the button for either language.

    Target ekranındaki etiket, seçtiğiniz düğmeye karşılık gelen dilde görüntülenir.On the Target screen, the label appears in the language that corresponds to the button that you selected.

  9. Source ekranına geri dönmek için Geri okunu ve ardından diğer dile ilişkin düğmeyi seçin.Select the Back arrow to return to the Source screen, and then select the button for the other language.

    Target ekranındaki etiket, seçtiğiniz düğmeye karşılık gelen dilde görüntülenir.On the Target screen, the label appears in the language that corresponds to the button that you selected.

  10. Varsayılan çalışma alanına dönmek için Esc tuşuna basın.Press Esc to return to the default workspace.

Başka bir örnekAnother example