Kongsi melalui


UpdateContext Fungsi

Digunakan untuk: Apl kanvas

Cipta atau kemas kini pemboleh ubah konteks untuk skrin semasa.

Ikhtisar

Gunakan UpdateContext fungsi untuk mencipta pembolehubah konteks, yang menyimpan sekeping maklumat buat sementara waktu, seperti bilangan kali pengguna telah memilih butang atau hasil operasi data.

Pemboleh ubah konteks yang diskopkan ke skrin, bermakna anda tidak boleh membina formula yang merujuk kepada pemboleh ubah konteks pada skrin lain. Jika anda menggunakan alat pemprograman, anda boleh memikirkan tentang pemboleh ubah konteks yang serupa dengan pemboleh ubah setempat. Gunakan Set function untuk bekerja dengan pemboleh ubah global yang tersedia dalam aplikasi anda.

Power Apps adalah berasaskan pada formula yang mengira semula secara automatik apabila pengguna berinteraksi dengan aplikasi. Pemboleh ubah konteks tidak menawarkan manfaat ini dan membuatkan aplikasi anda lebih sukar dicipta dan difahami. Sebelum anda menggunakan pemboleh ubah konteks, ulas bekerja dengan pemboleh ubah.

Penerangan

Untuk mencipta atau mengemas kini pembolehubah konteks, hantar satu rekod kepada UpdateContext fungsi. Dalam setiap rekod, tentukan nama lajur, yang menakrif atau memadankan nama pemboleh ubah, dan nilai yang anda mahu tetapkan untuk pemboleh ubah itu.

  • Jika anda menentukan nama pemboleh ubah yang telah anda takrifkan sebelum ini, UpdateContext tetapkan nilai pemboleh ubah kepada nilai yang anda tentukan.
  • Jika anda menentukan nama pemboleh ubah yang belum wujud, UpdateContext cipta pemboleh ubah dengan nama tersebut dan mengesetkan nilai pembolehubah tersebut kepada nilai yang anda tentukan.
  • Jika anda telah mentakrifkan pembolehubah sebelum ini tetapi tidak menentukannya dalam formula tertentu UpdateContext ini, nilainya kekal sama.

Pembolehubah konteks dicipta secara tersirat dengan menggunakan UpdateContextfungsi atau Navigasi. Tiada pengisytiharan yang jelas diperlukan. Jika anda mengalih keluar semua UpdateContext rujukan dan Navigasi kepada pembolehubah konteks, maka pembolehubah konteks itu akan tidak lagi wujud. Untuk mengosongkan pemboleh ubah tetapkan nilainya ke hasil Blank function.

Anda boleh melihat nilai pemboleh ubah, definisi, dan penggunaan dengan pandangan Pemboleh Ubah di bawah menu Fail dalam persekitaran pengarangan .

Anda merujuk pemboleh ubah konteks dalam formula dengan menggunakan nama pemboleh ubah lajur. Sebagai contoh, UpdateContext( { ShowLogo: true } ) mencipta pembolehubah konteks bernama ShowLogo dan menetapkan nilainya kepada true. Anda kemudian boleh menggunakan nilai pemboleh ubah konteks dengan menggunakan nama ShowLogo dalam formula. Anda boleh menulis ShowLogo sebagai formula untuk sifat kawalan imej Boleh Dilihat dan menunjukkan atau menyembunyikan kawalan itu berasaskan pada sama ada nilai pemboleh ubah konteks adalah benar atau palsu.

Seperti contoh kemudian dalam topik ini menunjukkan, pemboleh ubah konteks boleh memegang beberapa jenis maklumat, termasuk ini:

  • nilai tunggal
  • rekod
  • jadual
  • rujukan objek
  • sebarang hasil daripada formula

Pemboleh ubah konteks memegang nilainya hingga aplikasi ditutup. Jika anda menakrif pemboleh ubah konteks dan menetapkan nilainya pada skrin tertentu, maklumat itu kekal utuh walau pun jika pengguna menukar ke skrin berbeza. Sebaik sahaja aplikasi ditutup, nilai pemboleh ubah konteks akan hilang dan mesti dicipta semula apabila aplikasi dimuat semula.

Setiap pemboleh ubah konteks diskopkan ke skrin. Jika anda mahu menakrif pemboleh ubah konteks pada satu skrin dan mengubahsuainya daripada skrin yang lain, anda mesti membina formula berasaskan pada fungsi Navigate. atau menggunakan pemboleh ubah global

UpdateContext tidak mempunyai nilai pulangan dan anda boleh menggunakannya hanya dalam formula tingkah laku.

Sintaks

UpdateContext( UpdateRecord )

  • UpdateRecord – Diperlukan. Rekod yang mengandungi nama sekurang-kurangnya satu lajur dan nilai untuk lajur itu. Pemboleh ubah dicipta atau dikemas kini untuk setiap lajur dan nilai yang anda tentukan.

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

  • ContextVariable1 - Diperlukan. Nama pemboleh ubah konteks untuk cipta atau kemas kini.
  • Value1 - Diperlukan. Nilai untuk ditugaskan pada pemboleh ubah konteks.
  • ContextVariable2: Value2, ... - Pilihan. Pemboleh ubah konteks tambahan untuk cipta dan kemas kini dan nilainya.

Contoh

Formula Penerangan Hasil
UpdateContext( { Kaunter: 1 } ) Cipta atau ubah suai pemboleh ubah konteks Pembilang, tetapkan nilainya ke 1. Kaunter mempunyai nilai 1. Anda boleh merujuk pemboleh ubah itu dengan menggunakan nama Pembilang dalam formula.
UpdateContext( { Kaunter: 2 } ) Tetapkan nilai Pembilang pemboleh ubah konteks daripada contoh terdahulu ke 2. Kaunter mempunyai nilai 2.
UpdateContext( { Nama: "Lily", Skor: 10 } ) Cipta dan ubah suai pemboleh ubah konteks Nama dan Skor, tetapkan nilai masing-masing ke Lily dan 10. Nama mempunyai nilai Lily, dan Skor mempunyai nilai 10.
UpdateContext( { Orang: { Nama: "Milton", Alamat: "1 Main St" } } ) Cipta atau ubah suai pemboleh ubah konteks Orang, tetapkan nilainya ke rekod. Rekod mengandungi dua lajur, bernama Nama dan Alamat. Nilai lajur Nama ialah Milton, dan nilai lajur Alamat ialah 1 Main St. Orang mempunyai nilai rekod { Nama: "Milton", Alamat: "1 Main St" } }.

Rujuk rekod ini secara keseluruhan dengan nama Orang, atau rujuk lajur individu untuk rekod ini dengan Person.Name atau Person.Address.
UpdateContext( { Orang: Patch( Orang, {Alamat: "2 Main St" } ) } ) ) Bekerja dengan fungsi Patch untuk mengemas kini pemboleh ubah konteks Orang dengan menetapkan nilai lajur Alamat ke 2 Main St. Orang kini mempunyai nilai rekod { Nama: "Milton", Alamat: "2 Main St" } }.

Contoh langkah demi langkah 1

  1. Namakan skrin lalai Sumber, tambah skrin yang lain, dan namakannya Sasaran.

  2. Pada skrin Sumber, tambah dua butang, dan tetapkan sifat Teks supaya ianya menyatakan Bahasa Inggeris dan satu lagi menyatakan Bahasa Sepanyol.

  3. Tetapkan sifat OnSelect butang Bahasa Inggeris ke ungkapan ini:
    Navigasi(Sasaran, ScreenTransition.Fade,Bahasa {:"Bahasa Inggeris"})

  4. Tetapkan sifat OnSelect butang Bahasa Sepanyol ke ungkapan ini:
    Navigasi(Sasaran, ScreenTransition.Fade,Bahasa {:"Sepanyol")}

  5. Pada skrin Sasaran, tambah label, dan tetapkan sifat Teks ke ungkapan ini:
    if(Language="Bahasa Inggeris", "Hello!", "Hola!")

  6. Pada skrin Sasaran, pilih Bentuk pada tab Sisipkan, dan kemudian pilih anak panah Belakang.

  7. Tetapkan sifat anak panah Belakang OnSelect ke formula ini:
    Navigasi(Sumber, ScreenTransition.Fade)

  8. Daripada skrin Sumber, tekan F5, dan kemudian pilih butang untuk salah satu bahasa.

    Pada skrin Sasaran, label dipaparkan dalam bahasa yang sepadan dengan butang yang anda pilih.

  9. Pilih anak panah Belakang untuk mengembalikan skrin Sumber, dan kemudian pilih butang untuk bahasa yang lain.

    Pada skrin Sasaran, label dipaparkan dalam bahasa yang sepadan dengan butang yang anda pilih.

  10. Tekan Esc untuk mengembalikan ruang kerja lalai.

Contoh langkah demi langkah 2

  1. Buka aplikasi kanvas yang anda mahu gunakan formula ini.
  2. Tambah skrin kosong baharu dengan memilih Skrin baharu daripada bar perintah.
  3. Tambah butang, dan tetapkan sifat OnSelect kepada formula ini:
    UpdateContext( { Nama: "Lily", Skor: 10 } )