שתף באמצעות


הפונקציות EditForm,‏ NewForm, ‏SubmitForm,‏ ResetForm ו- ViewForm

חל על: אפליקציות קנבס

הצג, ערוך או צור פריט, שמור את התוכן ואפס את הפקדים בפקד Edit form.

מבט כולל

פונקציות אלה משנות את המצב של הפקד Edit form. פקד הטופס יכול להיות באחד מהמצבים הבאים:

מצב תיאור
FormMode.Edit הטופס מאוכלס ברשומה קיימת, והמשתמש יכול לשנות את ערכי השדות. בסיום, המשתמש יכול לשמור את השינויים ברשומה.
FormMode.חדש הטופס מאוכלס בערכי ברירת מחדל והמשתמש יכול לשנות את ערכי השדות. בסיום, המשתמש יכול להוסיף את הרשומה אל מקור הנתונים.
FormMode.View הטופס מאוכלס ברשומה קיימת, אך למשתמש אין אפשרות לשנות את ערכי השדות.

תיאור

פונקציות אלה מופעלות לעתים קרובות מהנוסחה OnSelect של פקד Button‎ או Image‎, כך שהמשתמש יכול לשמור את פעולות העריכה, לבטל את פעולות העריכה או ליצור רשומה. ניתן להשתמש בפקדים ובפונקציות אלה יחד כדי ליצור פתרון מלא.

פונקציות אלה אינן מחזירות ערכים.

באפשרותך להשתמש בפונקציות אלה רק בנוסחאות של אופן פעולה.

SubmitForm

השתמש בפונקציה SubmitForm במאפיין OnSelect של פקד 'לחצן' כדי לשמור שינויים שבוצעו בפקד 'טופס' בתוך מקור הנתונים.

לפני שליחת השינויים, פונקציה זו בודקת אם קיימות בעיות אימות בשדות שמסומנים כנדרשים או שכוללים אילוץ אחד או יותר עבור הערך שלהם. אופן פעולה זה תואם לאופן הפעולה של הפונקציה Validate‎.

SubmitForm בודק גם את המאפיין Valid של הטופס, שהוא צבירה של כל ה Valid מאפיינים של כרטיס פקדים שפקד הטופס מכיל. אם מתרחשת בעיה, הנתונים אינם נשלחים, והמאפיינים Error‎‎ ו- ErrorKind‎ של הפקד 'טופס' נקבעים בהתאם.

אם האימות עובר את הבדיקה, הפונקציה SubmitForm‎ שולחת את השינוי אל מקור הנתונים.

  • אם פעולה זו מתבצעת בהצלחה, מופעל אופן הפעולה OnSuccess של 'טופס', והמאפיינים Error‎ ו- ErrorKind מנוקים. אם הטופס היה במצב FormMode.New, הוא מוחזר למצב FormMode.Edit.
  • אם פעולה זו אינה מתבצעת בהצלחה, מופעל אופן הפעולה OnFailure של 'טופס', והמאפיינים שגיאה ו- ErrorKind נקבעים בהתאם. מצב הטופס אינו משתנה.

EditForm

הפונקציה EditForm משנה את המצב של הפקד 'טופס' ל- FormMode.Edit. במצב זה, תוכן המאפיין Item‎ של הפקד 'טופס' משמש לאכלוס הטופס. אם הפונקציה SubmitForm‎ פועלת כאשר הטופס נמצא במצב זה, המערכת משנה רשומה, ולא יוצרת רשומה. FormMode.Edit הוא ברירת המחדל עבור פקד הטופס.

הערה

כאשר הטופס נמצא במצב עריכה והפריט הוא null, מאפייני כרטיס הנתונים אינם מוערכים ויחזירו ערכי ברירת מחדל.

NewForm

הפונקציה NewForm משנה את המצב של הפקד 'טופס' ל- FormMode.New. במצב זה, המערכת מתעלמת מתוכן המאפיין Item של הפקד 'טופס', וערכי ברירת המחדל של המאפיין DataSource‎ של 'טופס' מאכלסים את הטופס. אם הפונקציה 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.חדש 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 של פקד 'טופס' ל- blank ואת המאפיין OnSuccess שלו לנוסחה הבאה:

    בְּחֲזָרָה()

  3. תן לפקד Label‎ את השם ErrorText, והגדר את המאפיין Text‎ שלו לנוסחה הבאה:

    EditForm.Error

    כאשר המשתמש בוחר את לחצן שמור, כל השינויים בפקד 'טופס' נשלחים אל מקור הנתונים המשמש כבסיס.

    • אם השליחה מצליחה, השינויים נשמרים. אם הפקד 'טופס' נמצא במצב חדש, נוצרת רשומה. ErrorText הוא ריק והמסך הקודם מופיע שוב.
    • אם השליחה נכשלת, ErrorText מציג הודעת שגיאה ידידותית למשתמש, והמסך הנוכחי נשאר גלוי כך שהמשתמש יכול לפתור את הבעיה ולנסות שוב.
  4. הוסף פקד 'לחצן', הגדר את המאפיין Text‎ שלו כך שיראה ביטול, והגדר את המאפיין OnSelect שלו לנוסחה הבאה:

    ResetForm( EditForm ); בְּחֲזָרָה()

    כאשר המשתמש בוחר את לחצן ביטול, הערכים בפקד 'טופס' מתאפסים לערכים הקודמים (לפני שהמשתמש התחיל לערוך את הפקד), המסך הקודם מופיע מחדש, והפקד 'טופס' מוחזר למצב ערוך אם הוא היה במצב חדש.

  5. הוסף פקד 'לחצן', הגדר את המאפיין Text‎ שלו כך שיראה חדש, והגדר את המאפיין OnSelect שלו לנוסחה הבאה:

    NewForm( EditForm ); ניווט( EditScreen, None)

    כאשר המשתמש בוחר את לחצן חדש, הפקד 'טופס' עובר למצב חדש, ערכי ברירת המחדל עבור מקור הנתונים של הפקד 'טופס' מאכלסים את הפקד, ומופיע המסך שמכיל את הפקד 'טופס'. כאשר הפונקציה SubmitForm‎ פועלת, המערכת יוצרת רשומה, במקום לעדכן רשומה.