Функции EditForm, NewForm, SubmitForm, ResetForm и ViewForm
Отнася се за: Приложения за платно
Преглед, редактиране или създаване на елемент, запазване на съдържанието и нулиране на контролите в Редактиране на формуляр контрола.
Преглед
Тези функции променят състоянието на контролата Редактиране на формуляр. Контролата на формуляра може да бъде в един от следните режими:
Режим | Описание |
---|---|
FormMode.Редактиране | Формата се попълва със съществуващ запис и потребителят може да променя стойностите на полетата. След като завърши, потребителят може да запише промените в записа. |
FormMode.New | Формулярът се попълва със стойности по подразбиране и потребителят може да променя стойностите на полетата. След като завърши, потребителят може да добави записа към източника на данни. |
FormMode.View | Формата се попълва със съществуващ запис, но потребителят не може да променя стойностите на полетата. |
Описание
Тези функции често се извикват от формулата OnSelect на ... бутон или контрола Изображение , така че потребителят да може да записва редакции, да изоставя редакции или да създава запис. Можете да използвайте контролите и тези функции заедно, за да създадете цялостно решение.
Тези функции не връщат никакви стойности.
Можете да използвате тези функции само във формули на поведение.
SubmitForm
Използвайте функцията SubmitForm в свойството OnSelect на контрола на бутон, за да запише всички промени в контрола на формуляр към източник на данни.
Преди да изпратите каквито и да било промени, тази функция проверява за проблеми с валидирането с всяко поле, което е маркирано като необходимо или има едно или повече ограничения на стойността му. Това поведение съответства на това на функцията Validate.
SubmitForm също така проверява свойството Valid на формуляра, което е агрегиране на всички валидни свойства на контролите на Карта , които контролата Form съдържа. Ако възникне проблем, данните не се предават и свойствата грешка и ErrorKind на контрола за формуляр се задават съответно.
Ако валидирането премине, SubmitForm изпраща промяната на източник на данни.
- Ако е успешно, поведението OnSuccess на формуляра се изпълнява и свойствата Error и ErrorKind се изчистват. Ако формулярът е бил в режим FormMode.New, той е върнат към режим FormMode.Edit.
- Ако е неуспешно, поведението OnFailure на формуляра се изпълнява и свойствата Error и ErrorKind се задават съответно. Режимът на формата е непроменен.
EditForm
Функцията EditForm променя режима на контрола на формуляра на FormMode.Edit. В този режим съдържанието на свойството Елемент на контролата на формуляр се използват за попълване на формуляра. Ако функцията SubmitForm работи, когато формата е в този режим, запис се променя, а не се създава. FormMode.Edit е по подразбиране за контролата Form.
Бележка
Когато формулярът е в режим на редактиране и Елемент е нула, свойствата на картата с данни не се оценяват и ще върнат стойности по подразбиране.
NewForm
Функцията NewForm променя режима на контрола на формуляра на FormMode.New. В този режим съдържанието на свойството на контролата за формуляри елемент се игнорира и стойностите по подразбиране на свойсвтото на формулярите DataSource попълват формуляра. Ако функцията SubmitForm работи, когато формулярът е в този режим, запис се създава, а не се променя.
ResetForm
Функцията ResetForm нулира съдържанието на формуляр до началните им стойности, преди потребителят да е направил промени. Ако формулярът е бил в режим FormMode.New, той е нулран към режим FormMode.Edit. Поведението OnReset на контролата на формуляра също тече. Можете също да нулирате отделни контроли с функцията Reset, но само от формата.
ViewForm
Функцията ViewForm променя режима на контрола на формуляра на FormMode.View. В този режим съдържанието на свойството Елемент на контролата на формуляр се използват за попълване на формуляра. Функциите SubmitForm и ResetForm нямат ефект, когато са в този режим.
Свойство DisplayMode
Текущият режим може да се прочете през свойството Режим. Режимът определя и стойността на свойството DisplayMode, което може да се използва от карти за данни и контроли в рамките на контрола на формуляра. Често свойството на картите на данните DisplayMode ще бъде настроено на Parent.DisplayMode (позовавайки се на формуляра), както и свойството DisplayMode на контролата (позовавайки се на картата с данни):
Режим | DisplayMode | Описание |
---|---|---|
FormMode.Редактиране | DisplayMode.Редактиране | Картите за данни и контролите са редактируеми, готови да приемат промени в даден запис. |
FormMode.New | DisplayMode.Редактиране | Картите за данни и контролите са редактируеми, готови да приемат промени в нов запис. |
FormMode.View | DisplayMode.View | Картите и контролите за данни не могат да се редактират и оптимизират за гледане. |
Синтаксис
SubmitForm( Име на формуляр)
- FormName - Задължително. Контрол на формуляра, за да се изпрати на източник на данни.
EditForm( Име на формуляр)
- FormName - Задължително. Контрол на формата за преминаване към режим FormMode.Edit.
NewForm( Име на формуляр)
- FormName - Задължително. Контрол на формата за преминаване към режим FormMode.New.
ResetForm( Име на формуляр )
- FormName - Задължително. Контрол на формата за нулиране до начални стойности. Също така превключва формата от FormMode.New режим до FormMode.Edit режим.
ViewForm( Име на формуляр)
- FormName - Задължително. Контрол на формата за преминаване към режим FormMode.View.
Примери
Вижте Разберете оформлението на формуляри за данни за пълни примери.
Добавете контролата бутон, задайте свойството й Текст да показва Записване, и задайте свойството й OnSelect на тази формула:
SubmitForm( EditForm )
Задайте свойството OnFailure на контролния формуляр да се попълни и неговото свойство OnSuccess на тази формула:
Назад()
Назовете контрола Етикет с име ErrorText и задайте свойството й Текст на тази формула:
EditForm.Error
Когато потребителят избере бутон Запази, всички промени в контрола на формуляра се изпращат в основата източник на данни.
- Ако изпращането е успешно, всички промени се запазват или, ако контролът на формуляра е включен режим Създаване, създава се запис. ErrorText е празен и предишният екран се появява отново.
- Ако изпращането не успее, ErrorText показва удобно за потребителя съобщение за грешка и текущият екран остава видим, така че потребителят да може да коригира проблема и да опита отново.
Добавете контролата бутон, задайте свойството й Текст да показва Отмяна, и задайте свойството й OnSelect на тази формула:
ResetForm( EditForm ); Назад()
Когато потребителят избере бутон Отмяна, стойностите в контрола на формуляра се връщат до това, което са били преди потребителят да започне да го редактира, предишният екран се появява отново и контрола на формуляра се връща на редактиране режим, ако е бил в Създаване режим.
Добавете контролата бутон, задайте свойството й Текст да показва Създаване, и задайте свойството й OnSelect на тази формула:
NewForm( EditForm ); Navigate( EditScreen, няма )
Когато потребителят избере бутон Създаване, контролът на формуляра преминава към Създаване режим, стойностите по подразбиране за източник на данни на контрола на формуляра попълват този контрол и се появява екранът, който съдържа контрола за формуляр. Когато функцията SubmitForm тече, вместо да се актуализира се създава запис.