Kongsi melalui


Fungsi UpdateContext

Digunakan untuk: Apl kanvas

Cipta atau kemas kini pemboleh ubah konteks untuk skrin semasa.

Ikhtisar

Gunakan fungsi UpdateContext untuk mencipta pemboleh ubah konteks, yang memegang sementara maklumat, seperti bilangan masa pengguna 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 pemboleh ubah konteks, hantar rekod ke fungsi UpdateContext. 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 anda telah takrifkan sebelum ini, UpdateContext menetapkan nilai pemboleh ubah kepada nilai yang anda tentukan.
  • Jika anda tentukan nama pemboleh ubah yang belum wujud, UpdateContext mencipta pemboleh ubah dengan nama itu dan tetapkan nilai pemboleh ubah ke nilai yang anda tentukan.
  • Jika anda telah menakrifkan pemboleh ubah sebelum ini tetapi tidak menentukannya dalam formula UpdateContext tertentu , nilainya kekal sama.

Pemboleh ubah konteks dicipta secara tersirat dengan menggunakan UpdateContext atau Navigate function. Tiada pengisytiharan yang jelas diperlukan. Jika anda mengalih keluar semua rujukan UpdateContext dan Navigasi ke pemboleh ubah konteks, kemudian pemboleh ubah konteks itu akan dihentikan daripada 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. Contohnya, UpdateContext( { ShowLogo: true } ) mencipta pemboleh ubah konteks bernama ShowLogo dan tetapkan nilainya kepada benar. 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( Kemas KiniRecord )

  • 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: Tampalan(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 } )