الدالات EditForm، وNewForm، وSubmitForm، وResetForm، وViewForm

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

عرض أو تحرير أو إنشاء عنصر وحفظ المحتويات وإعادة تعيين عناصر التحكم في عنصر تحكم Edit form.

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

تعمل هذه الوظائف على تغيير حالة عنصر تحكم Edit form. يمكن أن يكون عنصر تحكم النموذج في أحد الأوضاع التالية:

وضع ‏‏الوصف
FormMode.Edit يتم ملء النموذج بسجل موجود ويمكن للمستخدم تعديل قيم الحقول. بمجرد اكتماله، يمكن للمستخدم حفظ التغييرات على السجل.
FormMode.New يتم ملء النموذج بالقيم الافتراضية، ويمكن للمستخدم تعديل قيم الحقول. بمجرد اكتماله ، يمكن للمستخدم إضافة السجل إلى مصدر البيانات.
FormMode.View يتم ملء النموذج بسجل موجود ولكن لا يمكن للمستخدم تعديل قيم الحقول.

‏‏الوصف

غالبًا ما يتم استدعاء هذه الوظائف من صيغة OnSelect الخاصة عنصر تحكم Button أو Image بحيث يمكن للمستخدم حفظ عمليات التحرير أو التخلي عن التحريرات أو إنشاء سجل. يمكنك استخدام عناصر التحكم وهذه الوظائف معًا لإنشاء حل كامل.

لا تُرجع هذه الوظائف أي قيم.

يمكنك استخدام هذه الوظائف فقط في صيغ السلوك.

SubmitForm

استخدم وظيفة SubmitForm في خاصية OnSelect الخاصة بعنصر تحكم زر لحفظ أي تغييرات في عنصر تحكم النموذج إلى مصدر البيانات.

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

كما يتحقق SubmitForm من الخاصية Valid الخاصة بالنموذج، الذي هو عبارة عن تجميع لكل الخصائص الصالحة الخاصة بعناصر تحكم البطاقة التي يحتوي عليها عنصر تحكم النموذج. في حالة حدوث مشكلة، لا يتم إرسال البيانات، يتم تعيين خاصيتي Error وErrorKind لعنصر تحكم النموذج وفقًا لذلك.

وفي حالة اجتياز التحقق من الصحة، يرسل SubmitForm التغيير إلى مصدر البيانات.

  • في حالة نجاح ذلك، يتم تشغيل سلوك OnSuccess الخاص بالنموذج، ويتم مسح خاصيتي Error وErrorKind. إذا كان النموذج في وضع FormMode.New، فإنه يتم إرجاعه إلى وضع FormMode.Edit.
  • في حالة عدم النجاح، يتم تشغيل سلوك OnFailure الخاص بالنموذج، ويتم مسح خاصيتي الخطأ وErrorKind وفقًا لذلك. لم يتم تغيير وضع النموذج.

EditForm

تقوم وظيفة EditForm بتغيير وضع عنصر تحكم النموذج إلى FormMode.Edit. في هذا الوضع، يتم استخدام محتويات خاصية Item لعنصر تحكم النموذج لتعبئة النموذج. في حالة تشغيل وظيفة SubmitForm عندما تكون الوظيفة في هذا الوضع، يتم تغيير السجل ولا يتم إنشاؤه. FormMode.Edit هو الوضع الافتراضي لعنصر تحكم النموذج.

‏‫ملاحظة‬

عندما يكون النموذج في وضع التحرير والعنصر فارغ، لا يتم تقييم خصائص بطاقات البيانات وستعيد القيم الافتراضية.

NewForm

تقوم وظيفة NewForm بتغيير وضع عنصر تحكم النموذج إلى FormMode.New. في هذا الوضع، يتم تجاهل محتويات خاصية Item لعنصر تحكم النموذج، وتقوم القيم الافتراضية لخاصية مصدر البيانات الخاصة بالنموذج بتعبئة النموذج. في حالة تشغيل وظيفة SubmitForm عندما يكون النموذج في هذا الوضع، يتم إنشاء السجل ولا يتم تغييره.

ResetForm

تقوم وظيفة ResetForm بإعادة تعيين محتويات النموذج إلى قيمها الأولية، قبل أن يُجري المستخدم أي تغييرات. إذا كان النموذج في وضع FormMode.New، فإنه تتم إعادة تعيين النموذج إلى وضع FormMode.Edit. كما يتم تشغيل سلوك OnReset الخاص بعنصر تحكم النموذج. يمكنك أيضًا إعادة تعيين عناصر التحكم الفردية باستخدام وظيفة Reset ولكن فقط من داخل النموذج.

ViewForm

تقوم وظيفة ViewForm بتغيير وضع عنصر تحكم النموذج إلى FormMode.View. في هذا الوضع، يتم استخدام محتويات خاصية Item لعنصر تحكم النموذج لتعبئة النموذج. ليس لوظيفتي SubmitForm وResetForm أي تأثير عند وجودهما في هذا الوضع.

خاصية DisplayMode

يمكن قراءة الوضع الحالي من خلال خاصية Mode. كما يحدد الوضع قيمة خاصية DisplayMode التي يمكن استخدامها بواسطة بطاقات البيانات وعناصر التحكم داخل عنصر تحكم النموذج هذا. وغالبًا ما سيتم تعيين خاصة DisplayMode الخاصة ببطاقة البيانات إلى Parent.DisplayMode (الإشارة إلى النموذج) وكذلك خاصية DisplayMode الخاصة بعنصر التحكم (الإشارة إلى بطاقة البيانات):

وضع DisplayMode ‏‏الوصف
FormMode.Edit DisplayMode.Edit بطاقات البيانات وعناصر التحكم قابلة للتحرير، وجاهزة لقبول التغييرات على السجل.
FormMode.New DisplayMode.Edit بطاقات البيانات وعناصر التحكم قابلة للتحري، وجاهزة لقبول سجل جديد.
FormMode.View DisplayMode.View بطاقات البيانات وعناصر التحكم غير قابلة للتحرير والتحسين للعرض.

بناء الجملة

SubmitForm( FormName )

  • FormName - مطلوب. عنصر تحكم النموذج لإرساله إلى مصدر البيانات.

EditForm( FormName )

  • FormName - مطلوب. عنصر تحكم النموذج للتبديل إلى وضع FormMode.Edit.

NewForm( FormName )

  • FormName - مطلوب. عنصر تحكم النموذج للتبديل إلى وضع FormMode.New.

ResetForm( FormName )

  • FormName - مطلوب. عنصر تحكم النموذج لإعادة التعيين إلى القيم الأولية. يقوم أيضًا بتبديل النموذج من وضع FormMode.New إلى وضع FormMode.Edit.

ViewForm( FormName )

  • FormName - مطلوب. عنصر تحكم النموذج للتبديل إلى وضع FormMode.View.

الأمثلة

راجع فهم نماذج البيانات للاطلاع على الأمثلة الكاملة.

  1. أضف عنصر تحكم زر، وقم بتعيين خاصية Text الخاص به لإظهار حفظ، وقم بتعيين خاصية OnSelect الخاص به إلى هذه الصيغة:

    SubmitForm( EditForm )

  2. قم بتعيين خاصية OnFailure الخاصة بعنصر تحكم النموذج إلى فارغ وخاصية OnSuccess الخاص به إلى هذه الصيغة.

    Back()

  3. قم بتسمية عنصر تحكم Label باسم ErrorText، وقم بتعيين خاصية Text الخاصة به إلى هذه الصيغة:

    EditForm.Error

    عندما يحدد المستخدم الزر حفظ، يتم إرسال أي تغييرات موجودة في عنصر تحكم النموذج إلى مصدر البيانات الأساسي.

    • وفي حالة نجاح الإرسال، يتم حفظ أي تغييرات، أو إذا كان عنصر تحكم النموذج في وضع جديد، فسيتم إنشاء سجل. ErrorText يكون فارغًا وتظهر الشاشة السابقة مرة أخرى.
    • إذا فشل الإرسال، فإن ErrorText تعرض رسالة خطأ سهلة الاستخدام، وستظل الشاشة الحالية مرئية حتى يتمكن المستخدم من تصحيح المشكلة والمحاولة مرة أخرى.
  4. أضف عنصر تحكم زر، وقم بتعيين خاصية Text الخاص به لإظهار النص، وقم بتعيين خاصية OnSelect الخاص به إلى هذه الصيغة:

    ResetForm( EditForm ); Back()

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

  5. أضف عنصر تحكم زر، وقم بتعيين خاصية Text الخاص به لإظهار جديد، وقم بتعيين خاصية OnSelect الخاص به إلى هذه الصيغة:

    NewForm( EditForm ); Navigate( EditScreen, None )

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