تمرين - استخدام المجموعات ومعالجة الجداول

مكتمل

في هذا التمرين، سوف تتدرب على استخدام الجداول. ستقوم بإنشاء مجموعة وتصفيتها وإجراء بحث فيها وتحرير سجل فِي المجموعة وإضافة سجل إلى مجموعة وإزالة سجل من المجموعة.

إنشاء مجموعة بيانات

  1. قم بتسجيل الدخول إلى Power Apps.

  2. من الشاشة الرئيسية، حدّد + إنشاء من لوحة التنقل الموجودة على الجانب الأيسر. ثم حدّد تطبيق فارغ.

    وفي النهاية، حدّد إنشاء ضمن تطبيق لوحة فارغ.

  3. قم بتسمية التطبيق الخاص بك وحدّد إنشاء.

  4. حدّد علامة التبويب إدراج وأضف زراً، واضبط الخاصية OnSelect‎ به على هذه الصيغة:

    ClearCollect(CityPopulations, 
    {City:"London", Country:"United Kingdom", Population:8615000}, 
    {City:"Berlin", Country:"Germany", Population:3562000}, 
    {City:"Madrid", Country:"Spain", Population:3165000}, 
    {City:"Rome", Country:"Italy", Population:2874000}, 
    {City:"Paris", Country:"France", Population:2273000}, 
    {City:"Hamburg", Country:"Germany", Population:1760000}, 
    {City:"Barcelona", Country:"Spain", Population:1602000}, 
    {City:"Munich", Country:"Germany", Population:1494000}, 
    {City:"Milan", Country:"Italy", Population:1344000})
    
  5. اضغط مع الاستمرار على مفتاح Alt، وحدّد عنصر تحكم الزر. (سيؤدي هذا إلى إنشاء مجموعتك وتخزين جميع المعلومات.) قم بتحديث الخاصية Text الخاصة بالزر إلى "Collect".

  6. قم بإدراج عنصر تحكم المعرض العمودي واختر CityPopulations كمصدر بيانات (بدلاً من ذلك، يمكنك تحديث الخاصية Items الخاصة بالمعرض إلى CityPopulations).

  7. بعد تحديد المعرض، فِي لوحة الخصائص الموجودة على الجانب الأيمن من الشاشة، قم بتغيير التخطيط إلى العنوان والعنوان الفرعي والنص الأساسي. ثم حدّد الحقول وقم بتغيير خيار القائمة المنسدلة النص الأساسي لقراءة Population. ارجع إلى الصورة أدناه.

    لقطة شاشة للمعرض الجديد مع أبرز خيارات Data source وFields فِي لوحة Properties وPopulation كخيار محدّد ضمن Body1.

  8. مع استمرار تحديد المعرض، قم بتحديث خاصية OnSelect إلى ما يلي:

     Set(varRecord,ThisItem)
    

تصفية مجموعتك

  1. أدخل تسمية النص وقم بتغيير الخاصية Text إلى "Population". ثم انقله إلى يمين المعرض.

  2. بعد ذلك، قم بإدراج عنصر التحكم Slider ووضعه تحت التسمية التي أنشأناها. يمكنك العثور على عنصر التحكم بسرعة عن طريق إدخال "شريط التمرير" فِي حقل البحث.

  3. حدّد عنصر تحكم شريط التمرير وقم بتغيير الخاصية Min إلى:

    Min(CityPopulations, Population)
    
  4. وبعد ذلك، قم بتغيير خاصية Max إلى:

    Max(CityPopulations, Population)
    
  5. والآن حدّد المعرض وقم بتغيير خاصية Items‎ إلى:

    Filter(CityPopulations, Population>= Slider1.Value)
    
  6. والآن، لن يظهر لنا إلا السجلات الأكبر من قيمة شريط التمرير المحددة. ضع التطبيق فِي وضع المعاينة وحرك شريط التمرير لرؤية ذلك أثناء العمل. مع وجود شريط التمرير على طول الطريق إلى اليسار، سترى جميع المدن. أثناء تحريك شريط التمرير إلى اليمين، تضيق القائمة بحيث تبقى لندن فقط فِي المعرض.

    الرسوم المتحركة لعامل تصفية شريط التمرير.

استخدام الدالتين LookUp وPatch

  1. أدخل تسمية النص وقم بتغيير الخاصية Text إلى "City" وضعها أسفل شريط التمرير.

  2. بعد ذلك، قم بإدراج عنصر التحكم القائمة المنسدلة وحركه أسفل التسمية City.

  3. في خاصية Items‎ فِي القائمة المنسدلة، اكتب الآتي:

    CityPopulations.City
    
  4. في خاصية OnChange‎ فِي القائمة المنسدلة، ضع ما يلي:

    Set(varRecord, LookUp(CityPopulations, City=Self.SelectedText.City))
    
  5. أدخل تسمية النص أخرى وقم بتحديث الخاصية Text إلى "Country".

  6. أدخل عنصر تحكم إدخال النص وحركه أسفل التسمية "Country".

  7. بالنسبة إلى خاصية Default‎ فِي Text Input، ضع ‎varRecord.Country.

  8. قم بتغيير اسم عنصر تحكم إدخال النص هذا إلى txtCountry.

  9. كرر الخطوات الأربع السابقة لإضافة تسميات نصية وعناصر تحكم فِي إدخال النص لـ City وPopulation، مع تحديث الخصائص Default لإدخالات النص إلى varRecord.City وvarRecord.Population، على التوالي. عند الانتهاء، يجب أن تشبه شاشتك الصورة أدناه.

    لقطة شاشة للتسميات وإدخالات النص الجديدة.

  10. والآن، قم بإضافة زر إلى الشاشة وضعهُ تحت إدخال نص "Population". قم بتغيير خاصية Text‎ إلى "Submit".

  11. قم بتغيير خاصية OnSelect للزر إلى الآتي:

    Patch(CityPopulations, varRecord, {Country: txtCountry.Text, City: txtCity.Text, Population: Value(txtPopulation.Text)})
    

    ملاحظة

    يجب علينا تضمين Value()‎ فِي txtPopulation.Text‎‎‎ لأن إدخال النص يقوم بإرجاع سلسلة افتراضياً، ومجموعتنا تتوقع رقماً.

  12. ضع التطبيق فِي وضع المعاينة وحدّد عنصرًا من المعرض. قم بتغيير إحدى القيم، ثم اضغط على زر "Submit" وسترى أن العنصر قد تغير فِي معرض الصور لديك.

  13. أعد التطبيق إلى وضع التحرير.

إضافة سجلات وإزالتها

  1. حدّد زر "Submit" وقم بنسخه. وألصقه ثلاث مرات.

  2. قم بتغيير خاصية Text‎ للأزرار الثلاثة الجديدة إلى Clear وNew وRemove.

  3. ضع الأزرار فِي صفين من الزرين المحاذيين لزر Submit الأصلي ("New" ضمن "Submit"، "Clear" على يمين "Submit"، و"Remove" أدنى "Clear").

  4. انقر مع الضغط على مفتاح Ctrl على الزرين Clear وRemove. تغيير الخاصية DisplayMode‎ إلى:

    If(IsBlank(varRecord), DisplayMode.Disabled, DisplayMode.Edit)
    

    والآن، سيمكن النقر فوق هذه الأزرار فقط إذا كان لدينا سجلاً محدداً.

  5. انقر مع الضغط على مفتاح Ctrl على زر Remove لإلغاء تحديده. قم بتحديث الخاصية OnSelect الخاصة بالزر Clear إلى ما يلي:

    Set(varRecord, Blank())
    

    يمكنك الآن مسح السجل المحدّد باستخدام هذا الزر. قم بمعاينة التطبيق وحدّد الزر Clear.

    لاحظ كيف يظهر كلا الزرين Clear وRemove معطلين.

  6. مع عودة التطبيق إلى وضع التحرير، حدّد الزر Remove. قم بتحديث الخاصية OnSelect إلى:

    Remove(CityPopulations, varRecord)
    
  7. وأخيراً، حدّد زر New وقم بتغيير الخاصية OnSelect‎ الموجودة فِي الزر إلى:

    Collect(CityPopulations, {Country: txtCountry.Text, City: txtCity.Text, Population: Value(txtPopulation.Text)})
    
  8. ضع تطبيقك فِي وضع المعاينة وحاول إضافة سجل جديد وإزالة سجل موجود.

    لقطة شاشة للسجل الذي تم إنشاؤه حديثًا مع تمييز السجل الجديد والزر New.

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