הפונקציות 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.
דוגמאות
ראה הכרת טפסי נתונים לקבלת דוגמאות מלאות.
הוסף פקד 'לחצן', הגדר את המאפיין Text שלו כך שיראה שמור, והגדר את המאפיין OnSelect שלו לנוסחה הבאה:
SubmitForm( EditForm)
הגדר את המאפיין OnFailure של פקד 'טופס' ל- blank ואת המאפיין OnSuccess שלו לנוסחה הבאה:
בְּחֲזָרָה()
תן לפקד Label את השם ErrorText, והגדר את המאפיין Text שלו לנוסחה הבאה:
EditForm.Error
כאשר המשתמש בוחר את לחצן שמור, כל השינויים בפקד 'טופס' נשלחים אל מקור הנתונים המשמש כבסיס.
- אם השליחה מצליחה, השינויים נשמרים. אם הפקד 'טופס' נמצא במצב חדש, נוצרת רשומה. ErrorText הוא ריק והמסך הקודם מופיע שוב.
- אם השליחה נכשלת, ErrorText מציג הודעת שגיאה ידידותית למשתמש, והמסך הנוכחי נשאר גלוי כך שהמשתמש יכול לפתור את הבעיה ולנסות שוב.
הוסף פקד 'לחצן', הגדר את המאפיין Text שלו כך שיראה ביטול, והגדר את המאפיין OnSelect שלו לנוסחה הבאה:
ResetForm( EditForm ); בְּחֲזָרָה()
כאשר המשתמש בוחר את לחצן ביטול, הערכים בפקד 'טופס' מתאפסים לערכים הקודמים (לפני שהמשתמש התחיל לערוך את הפקד), המסך הקודם מופיע מחדש, והפקד 'טופס' מוחזר למצב ערוך אם הוא היה במצב חדש.
הוסף פקד 'לחצן', הגדר את המאפיין Text שלו כך שיראה חדש, והגדר את המאפיין OnSelect שלו לנוסחה הבאה:
NewForm( EditForm ); ניווט( EditScreen, None)
כאשר המשתמש בוחר את לחצן חדש, הפקד 'טופס' עובר למצב חדש, ערכי ברירת המחדל עבור מקור הנתונים של הפקד 'טופס' מאכלסים את הפקד, ומופיע המסך שמכיל את הפקד 'טופס'. כאשר הפונקציה SubmitForm פועלת, המערכת יוצרת רשומה, במקום לעדכן רשומה.