الدالة UpdateContext

ينطبق على: تطبيقات اللوحة

إنشاء أو تحديث متغيرات السياق الخاصة بالشاشة الحالية.

النظرة العامة

استخدم وظيفة UpdateContext لإنشاء متغير سياق، الذي يحتفظ مؤقتًا بجزء من المعلومات ، مثل عدد المرات التي حدد فيها المستخدم زرًا أو نتيجة عملية بيانات.

يتم تحديد متغيرات السياق على شاشة، مما يعني أنه لا يمكنك بناء صيغة تشير إلى متغير السياق على شاشة أخرى. إذا كنت قد استخدمت أداة برمجة أخرى ، فيمكنك التفكير في متغير سياق مشابه لمتغير محلي. استخدم وظيفة Set للعمل مع المتغيرات العامة المتاحة في جميع أنحاء تطبيقك.

يستند Power Apps إلى الصيغ التي تقوم تلقائيا بإعادة حسابها أثناء تفاعل المستخدم مع أحد التطبيقات. لا تقدم متغيرات السياق هذه الميزة ويمكن أن تجعل إنشاء التطبيق وفهمه أكثر صعوبة. قبل استخدام متغير سياق، راجع التعامل مع المتغيرات.

‏‏الوصف

لإنشاء أو تحديث متغير سياق، قم بتمرير سجل واحد إلى وظيفة UpdateContext. في كل سجل، حدد اسم العمود، الذي يحدد أو يتطابق مع اسم المتغير، والقيمة التي تريد تعيين هذا المتغير إليها.

  • إذا حددت اسم متغير حددته مسبقًا، تقوم وظيفة UpdateContext بتعيين قيمة المتغير إلى القيمة التي تحددها.
  • إذا حددت اسم متغير غير موجود بعد، تقوم وظيفة UpdateContext بإنشاء متغير بهذا الاسم وتعيين قيمة هذا المتغير على القيمة التي تحددها.
  • إذا كنت قد حددت متغيرًا من قبل ولكنك لم تحدده في هذه الصيغة UpdateContext المحددة، فإنه قيمته تبقى نفس الشيء.

يتم إنشاء متغيرات السياق بشكل ضمني باستخدام وظيفة UpdateContext أو Navigate. لا يوجد تصريح صريح مطلوب. إذا قمت بإزالة جميع مراجع UpdateContext وNavigate لمتغير السياق ، فإن متغير السياق هذا سينتهي من الوجود. لمسح متغير، قم بتعيين قيمته إلى نتيجة وظيفة Blank.

يمكنك أن ترى قيم المتغيرات والتعاريف والاستخدامات مع عرض المتغيرات ضمن قائمة الملف في بيئة التأليف.

يمكنك الرجوع إلى متغير سياق في صيغة باستخدام اسم عمود المتغير. على سبيل المثال، يقوم UpdateContext( { ShowLogo: true } ) بإنشاء متغير سياق يسمى ShowLogo وتعيين قيمته إلى صواب. يمكنك بعد ذلك استخدام قيمة متغير السياق هذا باستخدام الاسم ShowLogo في صيغة. يمكنك كتابة ShowLogo مثل صيغة خاصية Visible لعنصر تحكم image وإظهار أو إخفاء عنصر التحكم هذا بناءً على ما إذا كانت قيمة متغير السياقصواب أو خطأ.

كما تظهر الأمثلة في هذا الموضوع لاحقًا ، يمكن لمتغيرات السياق أن تحتفظ بعدة أنواع من المعلومات ، بما في ذلك ما يلي:

  • قيمة واحدة
  • سجل
  • جدول‏‎
  • مرجع كائن
  • أي نتيجة من الصيغة

متغير سياق يحتفظ بقيمته حتى يتم إغلاق التطبيق. إذا قمت بتعريف متغير سياق وقمت بتعيين قيمته على شاشة معينة ، فستظل هذه المعلومات كما هي حتى إذا قام المستخدم بالتبديل إلى شاشة مختلفة. بمجرد إغلاق التطبيق ، ستفقد قيمة متغير السياق ويجب إعادة إنشائها عند تحميل التطبيق مرة أخرى.

يتم تحديد نطاق كل متغير سياق على الشاشة. إذا كنت تريد تحديد متغير سياق على شاشة واحدة وتعديل هذا المتغير من شاشة أخرى ، يجب عليك بناء صيغة تعتمد على وظيفة 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، وقيمة عمود العنوان هو 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. على شاشة المصدر، أضف زرين، وقم بتعيين حصائص Text الخاصة بهما بحيث ينص أحد الزرين على اللغة الإنجليزية وينص الزر الآخر على اللغة الإسبانية.

  3. قم بتعيين خاصية OnSelect الخاصة بزر اللغة الإنجليزية إلى هذا التعبير.
    Navigate(Target, ScreenTransition.Fade, {Language:"English"})

  4. قم بتعيين خاصية OnSelect الخاصة بزر اللغة الإسبانية إلى هذا التعبير.
    Navigate(Target, ScreenTransition.Fade, {Language:"Spanish"})

  5. على شاشة الهدف، أضف تسمية، وقم بتعيين خاصية Text الخاصة به إلى هذا التعبير:
    If(Language="English", "Hello!", "Hola!")

  6. في شاشة الهدف، حدد الأشكال على علامة التبويب إدراج، ثم حدد سهم "السابق".

  7. قم بتعيين خاصية OnSelect الخاصة بالسهم للخلف إلى هذه الخاصية.
    Navigate(Source, ScreenTransition.Fade)

  8. من شاشة المصدر، اضغط على F5، ثم حدد زر أي من اللغتين.

    في شاشة الهدف، تظهر التسمية باللغة التي تقابل الزر الذي حددته.

  9. حدد سهم للخلف للرجوع إلى شاشة المصدر، ثم حدد الزر للغة الأخرى.

    في شاشة الهدف، تظهر التسمية باللغة التي تقابل الزر الذي حددته.

  10. اضغط على Esc للعودة إلى مساحة العمل الافتراضية.

مثال 2 خطوة بخطوة

  1. افتح تطبيق اللوحة حيث تريد استخدام هذه الصيغة.
  2. أضف شاشة فارغة جديدة بتحديد شاشة جديدة من شريط الأوامر.
  3. أضف زرًا، وقم بتعيين خاصية OnSelect الخاصة به إلى هذه الصيغة:
    UpdateContext( { Name: "Lily", Score: 10 } )