EditForm-, NewForm-, SubmitForm-, ResetForm- ja ViewForm-funktio

Soveltuu: Pohjaan perustuvat sovellukset

Tarkastele ja muokkaa kohdetta, luo kohde, tallenna sisältö ja palauta ohjausobjektit Edit form -ohjausobjektissa.

Yleiskatsaus

Nämä funktiot muuttavat Edit form -ohjausobjektin tilaa. Lomakeohjausobjekti on jossain seuraavista tiloista:

Tila Kuvaus
FormMode.Edit Lomake on täytetty olemassa olevalla tietueella ja käyttäjä voi muokata kenttien arvoja. Kun käyttäjä on valmis, hän voi tallentaa muutokset tietueeseen.
FormMode.New Lomake täytetään oletusarvoilla ja käyttäjä voi muokata kenttien arvoja. Kun käyttäjä on valmis, hän voi lisätä tietueen tietolähteeseen.
FormMode.View Lomake on täytetty olemassa olevalla tietueella, mutta käyttäjä ei voi muokata kenttien arvoja.

Kuvaus

Nämä funktiot käynnistetään usein Button- tai Image-ohjausobjektin OnSelect-kaavalla, jolloin käyttäjä voi tallentaa tai hylätä muutokset tai luoda tietueen. Voit myös luoda kokonaisvaltaisen ratkaisun käyttämällä ohjausobjekteja ja funktioita yhdessä.

Nämä funktiot eivät palauta arvoja.

Näitä funktioita voidaan käyttää vain toimintakaavoissa.

SubmitForm

Tallenna Form-ohjausobjektiin tehdyt muutokset tietolähteeseen käyttämällä SubmitForm-funktiota Button-ohjausobjektin OnSelect-ominaisuudessa.

Ennen kuin funktio lähettää muutokset, se tarkistaa mahdolliset vahvistusongelmat pakolliseksi merkityissä kentissä ja kentissä, joiden arvolla on vähintään yksi rajoitus. Toiminta vastaa Validate-funktiota.

SubmitForm tarkistaa myös lomakkeen Valid-ominaisuuden. Se on kooste kaikista Card-ohjausobjektien Valid-ominaisuuksista, jotka Form-ohjausobjekti sisältää. Jos ongelma ilmenee, tietoja ei lähetetä ja Form-ohjausobjektin Error- ja ErrorKind-ominaisuudet määritetään vastaavasti.

Jos vahvistus menee läpi, SubmitForm lähettää muutoksen tietolähteeseen.

  • Jos tämä onnistuu, lomakkeen OnSuccess-toiminta suoritetaan ja Error- sekä ErrorKind-ominaisuudet tyhjennetään. Jos lomake oli FormMode.New-tilassa, se palautetaan FormMode.Edit-tilaan.
  • Jos muutoksen tallentaminen ei onnistu, lomakkeen OnFailure-toiminta suoritetaan ja Error- sekä ErrorKind-ominaisuudet määritetään vastaavasti. Lomakkeen tila ei muutu.

EditForm

EditForm-funktio muuttaa Form-ohjausobjektin tilaksi FormMode.Edit. Tässä tilassa lomake täytetään Form-ohjausobjektin Item-ominaisuuden sisällöllä. Jos SubmitForm-funktio suoritetaan, kun lomake on tässä tilassa, tietuetta muutetaan, ei luoda. Form-ohjausobjektin oletusarvo on FormMode.Edit.

Muistiinpano

Kun lomake on muokkaustilassa ja kohde on tyhjä, tietokorttiominaisuuksia ei arvioida ja ne palauttavat oletusarvot.

NewForm

NewForm-funktio muuttaa Form-ohjausobjektin tilaksi FormMode.New. Tässä tilassa Form-ohjausobjektin Item-ominaisuuden sisältö ohitetaan. Lomake täytetään sen DataSource-ominaisuuden oletusarvoilla. Jos SubmitForm-funktio suoritetaan, kun lomake on tässä tilassa, tietue luodaan, sitä ei muuteta.

ResetForm

ResetForm-funktio palauttaa lomakkeen sisällön sen alkuarvoihin, jotka edelsivät käyttäjän tekemiä muutoksia. Jos lomake on FormMode.New-tilassa, se palautetaan FormMode.Edit-tilaan. Myös Form-ohjausobjektin OnReset-toiminta suoritetaan. Voit myös palauttaa yksittäisiä ohjausobjekteja Reset-funktiolla, mutta vain lomakkeen kautta.

ViewForm

ViewForm-funktio muuttaa Form-ohjausobjektin tilaksi FormMode.View. Tässä tilassa lomake täytetään Form-ohjausobjektin Item-ominaisuuden sisällöllä. SubmitForm- ja ResetForm-funktioilla ei ole tässä tilassa vaikutusta.

DisplayMode-ominaisuus

Nykyinen tila voidaan lukea Mode-ominaisuuden kautta. Tila myös määrittää DisplayMode-ominaisuuden arvon, jota tietokortit ja ohjausobjektit voivat käyttää Form-ohjausobjektissa. Usein tietokortin DisplayMode-ominaisuuden arvoksi määritetään Parent.DisplayMode (viittaa lomakkeeseen), samoin kuin ohjausobjektin DisplayMode-ominaisuus (viittaa tietokorttiin):

Tila DisplayMode Kuvaus
FormMode.Edit DisplayMode.Edit Tietokortit ja ohjausobjektit ovat muokattavissa ja valmiit hyväksymään muutoksia tietueeseen.
FormMode.New DisplayMode.Edit Tietokortit ja ohjausobjektit ovat muokattavissa ja valmiit hyväksymään uuden tietueen.
FormMode.View DisplayMode.View Tietokortit ja ohjausobjektit eivät ole muokattavissa vaan optimoituja tarkastelemista varten.

Syntaksi

SubmitForm( FormName )

  • FormName – pakollinen. Form-ohjausobjekti tietolähteeseen lähettämiseen.

EditForm( FormName )

  • FormName – pakollinen. Form-ohjausobjekti FormMode.Edit-tilaan vaihtamiseen.

NewForm( FormName )

  • FormName – pakollinen. Form-ohjausobjekti FormMode.New-tilaan vaihtamiseen.

ResetForm( FormName )

  • FormName – pakollinen. Form-ohjausobjekti alkuarvojen palauttamiseen. Vaihtaa myös lomakkeen FormMode.New-tilasta FormMode.Edit-tilaan.

ViewForm( FormName )

  • FormName – pakollinen. Form-ohjausobjekti FormMode.View-tilaan vaihtamiseen.

Esimerkit

Täydellisiä esimerkkejä löytyy kohdasta Tutustu tietolomakkeisiin.

  1. Lisää Button-ohjausobjekti, määritä sen Text-ominaisuus näyttämään Tallenna ja määritä sen OnSelect-ominaisuudeksi tämä kaava:

    SubmitForm( EditForm )

  2. Määritä Form-ohjausobjektin OnFailure-ominaisuudeksi tyhjä ja sen OnSuccess -ominaisuudeksi tämä kaava:

    Back()

  3. Nimeä Label-ohjausobjektin ErrorText ja määritä sen Text-ominaisuudeksi tämä kaava:

    EditForm.Error

    Kun käyttäjä valitsee Tallenna-painikkeen, kaikki Form-ohjausobjektiin tehdyt muutokset lähetetään pohjana olevaan tietolähteeseen.

    • Jos lähetys onnistuu, muutokset tallentuvat, mutta jos Form-ohjausobjekti on Uusi-tilassa, luodaan tietue. ErrorText on tyhjä ja edellinen näyttö tulee näkyviin uudelleen.
    • Jos lähetys epäonnistuu, ErrorText näyttää käyttäjäystävällisen virhesanoman. Nykyinen näyttö pysyy näkyvissä, jotta käyttäjä voi korjata ongelman ja yrittää uudelleen.
  4. Lisää Button-ohjausobjekti, määritä sen Text-ominaisuus näyttämään Peruuta ja määritä sen OnSelect-ominaisuudeksi tämä kaava:

    ResetForm (EditForm); Back()

    Kun käyttäjä valitsee Peruuta-painikkeen, Form-ohjausobjektin arvot palautetaan muokkausta edeltävään tilaan. Edellinen näyttö tulee näkyviin uudelleen ja Form-ohjausobjekti palautetaan Muokkaa-tilaan, jos se oli Uusi-tilassa.

  5. Lisää Button-ohjausobjekti, määritä sen Text-ominaisuus näyttämään Uusi ja määritä sen OnSelect-ominaisuudeksi tämä kaava:

    NewForm( EditForm ); Navigate( EditScreen, None )

    Kun käyttäjä valitsee Uusi-painikkeen, Form-ohjausobjekti vaihtuu Uusi-tilaan. Form-ohjausobjekti täytetään sen tietolähteen oletusarvoilla, ja näkyviin tulee näyttö, joka sisältää Form-ohjausobjektin. Kun SubmitForm-funktio suoritetaan, tietue luodaan päivittämisen sijaan.