Funkce EditForm, NewForm, SubmitForm, ResetForm a ViewForm

Platí pro: aplikace plátna

Slouží k zobrazení, úpravám a vytváření položek, ukládání obsahu a resetování ovládacích prvků v ovládacím prvku Edit form.

Přehled

Tyto funkce změní stav ovládacího prvku Edit form. Ovládací prvek Form může být v jednom z těchto režimů:

Režim Popis
FormMode.Edit Formulář se naplní existujícím záznamem a uživatel může upravit hodnoty polí. Po dokončení může uživatel uložit změny záznamu.
FormMode.New Formulář se naplní výchozími hodnotami a uživatel může upravit hodnoty polí. Po dokončení může uživatel přidat záznam do zdroje dat.
FormMode.View Formulář se naplní existujícím záznamem, ale uživatel nemůže upravovat hodnoty polí.

Popis

Tyto funkce se často volají ze vzorce OnSelect ovládacího prvku Button nebo Image, aby uživatel mohl ukládat a zahodit úpravy nebo vytvořit záznam. Ovládací prvky můžete použít společně s těmito funkcemi a vytvořit tak kompletní řešení.

Tyto funkce nevrací žádnou hodnotu.

Tyto funkce se dají použít jenom ve vzorcích chování.

SubmitForm

Funkce SubmitForm ve vlastnosti OnSelect ovládacího prvku Button slouží k ukládání veškerých změn v ovládacím prvku Form do zdroje dat.

Před odesláním jakýchkoli změn tato funkce zkontroluje problémy s ověřením u všech polí, která jsou označena jako povinná nebo jejichž hodnota má nastaveno nějaké omezení. Toto chování se shoduje s chováním funkce Validate.

SubmitForm také zkontroluje vlastnost Valid ovládacího prvku Form, která představuje agregaci všech vlastností Valid ovládacích prvků Card v ovládacím prvku Form. Pokud dojde k problému, data se neodešlou a vlastnosti Error a ErrorKind ovládacího prvku Form se nastaví odpovídajícím způsobem.

V případě úspěšného ověření funkce SubmitForm odešle změnu do zdroje dat.

  • V případě úspěchu se u ovládacího prvku Form spustí akce OnSuccess a vlastnosti Error a ErrorKind se vymažou. Pokud byl formulář v režimu FormMode.New, vrátí se zpět do režimu FormMode.Edit.
  • V případě neúspěchu se u ovládacího prvku Formulář spustí akce OnFailure a vlastnosti Error a ErrorKind se nastaví odpovídajícím způsobem. Režim formuláře zůstane beze změny.

EditForm

Funkce EditForm změní režim ovládacího prvku Form na FormMode.Edit. V tomto režimu obsah vlastnosti Item ovládacího prvku Form slouží k naplnění formuláře. Pokud se spustí funkce SubmitForm u formuláře v tomto režimu, záznam se nevytvoří, ale změní. FormMode.Edit je výchozím režimem ovládacího prvku Form.

Poznámka:

Když je formulář v režim úprav a položka má hodnotu null, vlastnosti datové karty se nevyhodnocují a vrátí výchozí hodnoty.

NewForm

Funkce NewForm změní režim ovládacího prvku Form na FormMode.New. V tomto režimu se obsah vlastnosti Item ovládacího prvku Form ignoruje a formulář se naplní výchozími hodnotami vlastnosti DataSource ovládacího prvku Form. Pokud se spustí funkce SubmitForm u formuláře v tomto režimu, záznam se nezmění, ale vytvoří.

ResetForm

Dříve, než uživatele provede změny, funkce ResetForm zresetuje obsah formuláře na původní hodnoty. Pokud je formulář v režimu FormMode.New, resetuje se na režim FormMode.Edit. Spustí se také akce OnReset ovládacího prvku formuláře. Pomocí funkce Reset můžete resetovat také jednotlivé ovládací prvky, ale jenom v rámci formuláře.

ViewForm

Funkce ViewForm změní režim ovládacího prvku Form na FormMode.View. V tomto režimu obsah vlastnosti Item ovládacího prvku Form slouží k naplnění formuláře. V tomto režimu nemají funkce SubmitForm a ResetForm žádný vliv.

Vlastnost DisplayMode

Aktuální režim lze číst prostřednictvím vlastnosti Mode. Tento režim také určuje hodnotu vlastnosti DisplayMode, kterou mohou používat datové karty a ovládací prvky v rámci ovládacího prvku formuláře. Vlastnost DisplayMode datové karty se často nastaví na Parent.DisplayMode (odkazující na formulář) stejně jako vlastnost DisplayMode ovládacího prvku (odkazující na datovou kartu):

Režim DisplayMode Popis
FormMode.Edit DisplayMode.Edit Datové karty a ovládací prvky lze upravovat, umožňuje provádět změny v záznamu.
FormMode.New DisplayMode.Edit Datové karty a ovládací prvky lze upravovat, umožňuje vytvořit nový záznam.
FormMode.View DisplayMode.View Datové karty a ovládací prvky nelze upravovat, optimalizováno pro prohlížení.

Syntaxe

SubmitForm( FormName )

  • FormName – povinné. Ovládací prvek Form pro odeslání do zdroje dat.

EditForm( FormName )

  • FormName – povinné. Ovládací prvek Form pro přepnutí do režimu FormMode.Edit.

NewForm( FormName )

  • FormName – povinné. Ovládací prvek Form pro přepnutí do režimu FormMode.New.

ResetForm( FormName )

  • FormName – povinné. Ovládací prvek Form pro resetování na počáteční hodnoty. Také přepíná formulář z režimu FormMode.New do režimu FormMode.Edit.

ViewForm( FormName )

  • FormName – povinné. Ovládací prvek Form pro přepnutí do režimu FormMode.View.

Příklady

Kompletní příklady najdete v článku Principy datových formulářů.

  1. Přidejte ovládací prvek Button, nastavte jeho vlastnost Text na Save a vlastnost OnSelect nastavte na tento vzorec:

    SubmitForm( EditForm )

  2. Nastavte vlastnost OnFailure ovládacího prvku Form na prázdnou hodnotu a jeho vlastnost OnSuccess na tento vzorec:

    Back()

  3. Pojmenujte ovládací prvek Label jako ErrorText a nastavte jeho vlastnost Text na tento vzorec:

    EditForm.Error

    Když uživatel vybere tlačítko Save, všechny změny v ovládacím prvku Form se pošlou do podkladového zdroje dat.

    • Pokud se odeslání podaří, všechny změny se uloží nebo v případě, že je ovládací prvek Form v režimu New, vytvoří se záznam. Vlastnost ErrorText je prázdná a znovu se objeví předchozí obrazovka.
    • Pokud se odeslání nezdaří, ErrorText zobrazí uživatelsky přívětivou chybovou zprávu a aktuální obrazovka zůstane zobrazená, aby uživatel mohl opravit problém a akci opakovat.
  4. Přidejte ovládací prvek Button, nastavte jeho vlastnost Text na Cancel a vlastnost OnSelect nastavte na tento vzorec:

    ResetForm( EditForm ); Back()

    Když uživatel vybere tlačítko Cancel, hodnoty v ovládacím prvku Form se resetují na hodnoty, které ovládací prvek obsahoval předtím, než uživatel začal s úpravami. Znovu se objeví předchozí obrazovka a ovládací prvek Form se vrátí do režimu Edit v případě, že byl v režimu New.

  5. Přidejte ovládací prvek Button, nastavte jeho vlastnost Text na New a nastavte vlastnost OnSelect na tento vzorec:

    NewForm( EditForm ); Navigate( EditScreen; None )

    Když uživatel vyberte tlačítko New, ovládací prvek Form se přepne do režimu New a naplní se výchozími hodnotami ze zdroje dat a zobrazí se obrazovka obsahující tento ovládací prvek. Při spuštění funkce SubmitForm se záznam neaktualizuje, ale vytvoří se nový.