Συνάρτηση UpdateContext

Ισχύει σε: Εφαρμογές καμβά

Δημιουργεί ή ενημερώνει μεταβλητές περιβάλλοντος της τρέχουσας οθόνης.

Επισκόπηση

Χρησιμοποιήστε τη συνάρτηση UpdateContext για να δημιουργήσετε μια μεταβλητή περιβάλλοντος, η οποία προσωρινά συγκρατεί ένα κομμάτι πληροφοριών όπως πόσες φορές ο χρήστης επέλεξε ένα κουμπί ή το αποτέλεσμα μιας λειτουργίας δεδομένων.

Οι μεταβλητές περιβάλλοντος στοχεύουν σε μια οθόνη, το οποίο σημαίνει ότι δεν μπορεί να δημιουργήσετε έναν τύπο που αναφέρεται σε μια μεταβλητή περιβάλλοντος σε άλλη οθόνη. Εάν χρησιμοποιήσατε ένα άλλο εργαλείο προγραμματισμού, μπορείτε να θεωρήσετε μια μεταβλητή περιβάλλοντος όμοια μιας τοπικής μεταβλητής. Χρησιμοποιήστε τη συνάρτηση Set για εργασία με καθολικές μεταβλητές που είναι διαθέσιμες στην εφαρμογή σας.

Το Power Apps βασίζεται σε τύπους που υπολογίζονται αυτόματα εκ νέου καθώς ο χρήστης αλληλεπιδρά με μια εφαρμογή. Οι μεταβλητές περιβάλλοντος δεν προσφέρουν αυτό το πλεονέκτημα και μπορεί να κάνουν πιο δύσκολη τη δημιουργία και κατανόηση της εφαρμογής σας. Προτού χρησιμοποιήσετε μια μεταβλητή περιβάλλοντος, εξετάστε την εργασία με μεταβλητές.

Περιγραφή

Για να δημιουργήσετε ή ενημερώσετε μια μεταβλητή περιβάλλοντος, μεταβιβάστε μια μοναδική εγγραφή στη συνάρτηση UpdateContext. Σε κάθε εγγραφή, καθορίστε το όνομα μιας στήλης, η οποία ορίζει ή αντιστοιχεί το όνομα μιας μεταβλητής και την τιμή στην οποία θέλετε να ορίσετε αυτή τη μεταβλητή.

  • Εάν καθορίσετε το όνομα μιας μεταβλητής που ορίσατε στο παρελθόν, η συνάρτηση UpdateContext ορίζει την τιμή της μεταβλητής στην τιμή που ορίσατε.
  • Εάν καθορίσετε το όνομα μιας μεταβλητής που δεν υπάρχει ήδη, η συνάρτηση UpdateContext δημιουργεί μια μεταβλητή με αυτό το όνομα και ορίζει την τιμή αυτής της μεταβλητής στην τιμή που ορίσατε.
  • Εάν ορίσατε στο παρελθόν μια μεταβλητή αλλά δεν την ορίζετε σε αυτόν τον τύπο UpdateContext, η τιμή της παραμένει ίδια.

Οι μεταβλητές περιβάλλοντος δημιουργούνται αποκλειστικά με χρήση της συνάρτησης UpdateContext ή Navigate. Δεν απαιτείται κάποια ρητή δήλωση. Εάν καταργήσετε όλες τις αναφορές UpdateContext και Navigate σε μια μεταβλητή περιβάλλοντος, τότε αυτή η μεταβλητή παύει να υπάρχει. Για τη απαλοιφή μιας μεταβλητής ορίστε την τιμή της στο αποτέλεσμα της συνάρτησης Blank.

Μπορείτε να δείτε τις τιμές, τους ορισμούς και χρήσεις των μεταβλητών σας με την προβολή "Μεταβλητές" στο μενού "Αρχείο", στο περιβάλλον σύνταξης.

Αναφέρετε μια μεταβλητή περιβάλλοντος σε έναν τύπο χρησιμοποιώντας το όνομα στήλης μεταβλητής. Για παράδειγμα, η συνάρτηση UpdateContext( { ShowLogo: true } ) δημιουργεί μια μεταβλητή περιβάλλοντος με την ονομασία ShowLogo και ορίζει την τιμή της σε true. Μπορείτε, στη συνέχεια, να χρησιμοποιήσετε την τιμή αυτής της μεταβλητής περιβάλλοντος χρησιμοποιώντας το όνομα ShowLogo σε έναν τύπο. Μπορείτε να γράψετε ShowLogo ως τύπο για την ιδιότητα Visible ενός στοιχείου ελέγχου εικόνας και εμφανίστε ή κρύψτε αυτό το στοιχείο ελέγχου βάσει του εάν η τιμή της μεταβλητής περιβάλλοντος είναι true ή false.

Όπως παρουσιάζεται στα παραδείγματα παρακάτω σε αυτό το θέμα, οι μεταβλητές περιβάλλοντος μπορούν να τηρούν πολλών ειδών πληροφορίες, συμπεριλαμβανομένων των παρακάτω:

  • μια μεμονωμένη τιμή
  • μια καρτέλα
  • έναν πίνακα
  • μια αναφορά αντικειμένου
  • οποιοδήποτε αποτέλεσμα από έναν τύπο

Μια μεταβλητή περιβάλλοντος διατηρεί την τιμή της μέχρι να κλείσει η εφαρμογή. Εάν ορίσετε μια μεταβλητή περιβάλλοντος και ορίσετε την τιμή της σε μια συγκεκριμένη οθόνη, αυτές οι πληροφορίες παραμένουν ακέραιες εάν ο χρήστης αλλάξει σε μια διαφορετική οθόνη. Όταν κλείσει η εφαρμογή, η τιμή της μεταβλητής περιβάλλοντος θα χαθεί και πρέπει να δημιουργηθεί πάλι όταν φορτωθεί ξανά η εφαρμογή.

Κάθε μεταβλητή περιβάλλοντος στοχεύει σε μια οθόνη. Εάν θέλετε να ορίσετε μια μεταβλητή περιβάλλοντος σε μία οθόνη και να τροποποιήσετε αυτή τη μεταβλητή από μία άλλη οθόνη, πρέπει να δημιουργήσετε έναν τύπο που βασίζεται στη συνάρτηση Navigate. Διαφορετικά, χρησιμοποιήστε μια καθολική μεταβλητή.

Η συνάρτηση UpdateContext δεν έχει τιμή επιστροφής και μπορείτε να τη χρησιμοποιήσετε μόνο εντός ενός τύπου συμπεριφοράς.

Σύνταξη

UpdateContext( UpdateRecord )

  • UpdateRecord – Υποχρεωτικό. Μια εγγραφή που περιέχει το όνομα τουλάχιστον μίας στήλης και μια τιμή για αυτή τη στήλη. Μια μεταβλητή περιβάλλοντος δημιουργείται ή ενημερώνεται για κάθε στήλη και τιμή που ορίζετε.

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

  • ContextVariable1 - Υποχρεωτικό. Το όνομα μιας μεταβλητής περιβάλλοντος για δημιουργία ή ενημέρωση.
  • Value1 - Υποχρεωτικό. Η τιμή προς εκχώρηση στη μεταβλητή περιβάλλοντος.
  • ContextVariable2: Value2, ... - Προαιρετικό. Πρόσθετες μεταβλητές περιβάλλοντος για δημιουργία ή ενημέρωση και οι τιμές τους.

Παραδείγματα

Τύπος Περιγραφή Αποτέλεσμα
UpdateContext( { Counter: 1 } ) Δημιουργεί ή τροποποιεί τη μεταβλητή περιβάλλοντος Counter, ορίζοντας την τιμή της σε 1. Η μεταβλητή Counter έχει τιμή 1. Μπορείτε να αναφέρετε αυτή τη μεταβλητή χρησιμοποιώντας το όνομα Counter σε έναν τύπο.
UpdateContext( { Counter: 2 } ) Ορίζει την τιμή της μεταβλητής περιβάλλοντος Counter από το προηγούμενο παράδειγμα σε 2. Η μεταβλητή Counter έχει τιμή 2.
UpdateContext( { Name: "Lily", Score: 10 } ) Δημιουργεί ή τροποποιεί τις μεταβλητές περιβάλλοντος Name και Score, ορίζοντας τις τιμές τους σε Lily και 10 αντίστοιχα. Η μεταβλητή Name έχει την τιμή Lily και η μεταβλητή Score έχει την τιμή 10.
UpdateContext( { Person: { Name: "Milton", Address: "1 Main St" } } ) Δημιουργεί ή τροποποιεί τη μεταβλητή περιβάλλοντος Person, ορίζοντας την τιμή της σε μια εγγραφή. Η εγγραφή περιέχει δύο στήλες με τις ονομασίες Name και Address. Η τιμή της στήλης Name είναι Milton και η τιμή της στήλης Address είναι 1 Main St. Η μεταβλητή Person έχει την τιμή εγγραφής {Name: "Milton", Address: "1 Main St"} }.

Αναφέρετε ολόκληρη την εγγραφή αυτή με το όνομα Person ή μια μεμονωμένη στήλη της εγγραφής με την ονομασία Person.Name ή Person.Address.
UpdateContext( { Person: Patch( Person, {Address: "2 Main St" } ) } ) Λειτουργεί με τη συνάρτηση Patch για να ενημερωθεί η μεταβλητή περιβάλλοντος Person, ρυθμίζοντας την τιμή της στήλης Address σε 2 Main St. Η μεταβλητή Person έχει τώρα την τιμή εγγραφής {Name: "Milton", Address: "2 Main St"} }

Αναλυτικό παράδειγμα 1

  1. Ονομάστε την προεπιλεγμένη οθόνη Source, προσθέστε μια άλλη οθόνη και ονομάστε τη Target.

  2. Στην οθόνη Source, προσθέστε δύο κουμπιά και ορίστε τις ιδιότητές τους Text ώστε ένα να αναφέρει English και το άλλο Spanish.

  3. Ορίστε την ιδιότητα OnSelect του κουμπιού English στην παράσταση:
    Navigate(Target, ScreenTransition.Fade, {Language:"English"})

  4. Ορίζει την ιδιότητα OnSelect του κουμπιού Spanish στην παράσταση:
    Navigate(Target, ScreenTransition.Fade, {Language:"Spanish"})

  5. Στην οθόνη Target, προσθέστε μια ετικέτα και ορίστε την ιδιότητά της Text στην παράσταση:
    If(Language="English", "Hello!", "Hola!")

  6. Στην οθόνη Target, επιλέξτε Σχήματα στην καρτέλα Εισαγωγή και, στη συνέχεια, επιλέξτε το βέλος επιστροφής.

  7. Ορίστε την ιδιότητα OnSelect του βέλους επιστροφής σε αυτόν τον τύπο:
    Navigate(Source, ScreenTransition.Fade)

  8. Από την οθόνη Source, πατήστε το F5 και, στη συνέχεια, επιλέξτε το κουμπί για οποιαδήποτε γλώσσα.

    Στην οθόνη Target, η ετικέτα εμφανίζεται στη γλώσσα που αντιστοιχεί στο κουμπί που επιλέξατε.

  9. Επιλέξτε το βέλος επιστροφής για να επιστρέψετε στην οθόνη Source και, στη συνέχεια, επιλέξτε το κουμπί για την άλλη γλώσσα.

    Στην οθόνη Target, η ετικέτα εμφανίζεται στη γλώσσα που αντιστοιχεί στο κουμπί που επιλέξατε.

  10. Για να επιστρέψετε στον προεπιλεγμένο χώρο εργασίας, πατήστε το Esc.

Αναλυτικό παράδειγμα 2

  1. Ανοίξτε την εφαρμογή καμβά στο σημείο όπου θέλετε να χρησιμοποιήσετε αυτόν τον τύπο.
  2. Προσθέστε μια νέα κενή οθόνη επιλέγοντας Δημιουργία οθόνης από τη γραμμή εντολών.
  3. Προσθέστε ένα κουμπί και ορίστε την ιδιότητα OnSelect σε αυτόν τον τύπο:
    UpdateContext( { Name: "Lily", Score: 10 } )