Fungsi EditForm, NewForm, SubmitForm, ResetForm, dan ViewForm

Berlaku untuk: Aplikasi kanvas

Lihat, edit, atau buat item, simpan konten, dan atur ulang kontrol dalam kontrol Formulir edit.

Gambaran Umum

Fungsi ini mengubah status kontrol Formulir edit. Kontrol formulir ini dapat berupa salah satu dari mode berikut:

Mode KETERANGAN
FormMode.Edit Formulir diisi dengan rekaman yang ada dan pengguna dapat memodifikasi nilai bidang ini. Setelah selesai, pengguna dapat menyimpan perubahan ke rekaman.
FormMode.New Formulir diisi dengan nilai default dan pengguna dapat memodifikasi nilai bidang. Setelah selesai, pengguna dapat menambahkan rekaman ke sumber data.
FormMode.View Formulir diisi dengan rekaman yang ada, tetapi pengguna tidak dapat memodifikasi nilai bidang ini.

KETERANGAN

Fungsi ini sering dipanggil dari rumus OnSelect dari... tombol atau kontrol Gambar sehingga pengguna dapat menyimpan pengeditan, meninggalkan pengeditan, atau membuat rekaman. Anda dapat menggunakan kontrol dan fungsi ini bersama-sama untuk membuat solusi lengkap.

Fungsi ini tidak menghasilkan nilai.

Anda hanya dapat menggunakan fungsi ini dalam rumus perilaku.

SubmitForm

Gunakan fungsi SubmitForm dalam properti OnSelect pada Tombol kontrol untuk menyimpan perubahan dalam kontrol Formulir ke sumber data.

Sebelum melakukan perubahan apa pun, fungsi ini memeriksa masalah validasi dengan bidang apa pun yang ditandai sebagai wajib atau yang memiliki satu atau beberapa kendala pada nilainya. Perilaku ini cocok dengan fungsi Validate.

SubmitForm juga memeriksa properti Formulir yang Valid, yang merupakan agregasi dari semua properti Valid dari kontrol Kartu yang berisi kontrol Formulir . Jika terjadi masalah, data tidak dikirim, dan properti Error dan ErrorKind pada kontrol Formulir diatur secara sesuai.

Jika validasi lolos, SubmitForm mengirimkan perubahan ke sumber data.

  • Jika berhasil, perilaku OnSuccess formulir berjalan, dan properti Kesalahan dan ... ErrorKind ... dihapus. Jika formulir berada dalam mode FormMode.New, formulir akan dihasilkan ke mode FormMode.Edit.
  • Jika tidak berhasil, perilaku OnFailure formulir berjalan, dan properti Error dan ... ErrorKind ... diatur sesuai. Mode formulir tidak diubah.

EditForm

Fungsi EditForm mengubah mode kontrol Formulir ke FormMode.Edit. Dalam mode ini, konten properti Item kontrol Formulir digunakan untuk mengisi formulir. Jika fungsi SubmitForm berjalan saat formulir berada dalam mode ini, rekaman diubah, tidak dibuat. FormMode.Edit adalah default untuk kontrol Formulir.

Catatan

Saat formulir berada di mode edit dan Item null, properti kartu data tidak dievaluasi dan akan mengembalikan nilai default.

NewForm

Fungsi NewForm mengubah mode kontrol Formulir ke FormMode.New. Dalam mode ini, konten properti Item kontrol formulir diabaikan, dan nilai default properti DataSource Formulir mengisi formulir. Jika fungsi SubmitForm berjalan saat formulir berada dalam mode ini, rekaman dibuat, tidak diubah.

ResetForm

Fungsi ResetForm mengatur ulang isi formulir ke nilai awalnya, sebelum pengguna melakukan perubahan. Jika formulir berada dalam mode FormMode.New, formulir diatur ulang ke mode FormMode.Edit. Perilaku OnReset kontrol formulir juga berjalan. Anda juga dapat mengatur ulang kontrol individu dengan fungsi Reset, tetapi hanya dari dalam formulir.

ViewForm

Fungsi ViewForm mengubah mode kontrol Formulir ke FormMode.View. Dalam mode ini, konten properti Item kontrol Formulir digunakan untuk mengisi formulir. Fungsi SubmitForm dan ResetForm tidak memiliki efek saat berada dalam mode ini.

Properti DisplayMode

Mode saat ini dapat dibaca melalui properti Mode. Mode juga menentukan nilai properti DisplayMode yang dapat digunakan oleh kartu data dan kontrol dalam kontrol formulir. Seringkali, properti DisplayMode kartu data akan diatur ke Parent.DisplayMode (merujuk formulir) sama seperti properti DisplayMode kontrol (merujuk kartu data):

Mode DisplayMode KETERANGAN
FormMode.Edit DisplayMode.Edit Kartu data dan kontrol dapat diedit, siap menerima perubahan pada rekaman.
FormMode.New DisplayMode.Edit Kartu data dan kontrol dapat diedit, siap menerima rekaman baru.
FormMode.View DisplayMode.View Kartu data dan kontrol tidak dapat diedit dan dioptimalkan untuk tampilan.

Sintaks

SubmitForm( FormName )

  • FormName - Wajib. Kontrol formulir untuk dikirim ke sumber data.

EditForm( FormName )

  • FormName - Wajib. Kontrol formulir untuk beralih ke mode FormMode.Edit.

NewForm( FormName )

  • FormName - Wajib. Kontrol formulir untuk beralih ke mode FormMode.New.

ResetForm( FormName )

  • FormName - Wajib. Kontrol formulir untuk mengatur ulang ke nilai awal. Juga akan mengalihkan formulir dari mode FormMode.New ke mode FormMode.Edit.

ViewForm( FormName )

  • FormName - Wajib. Kontrol formulir untuk beralih ke mode FormMode.View.

Contoh

Lihat Memahami formulir data untuk contoh lengkap.

  1. Tambahkan kontrol Tombol, atur properti Teks untuk menampilkan Simpan, lalu tetapkan properti OnSelect ke rumus ini:

    SubmitForm( EditForm )

  2. Atur properti OnFailure kontrol Formulir ke kosong properti OnSuccess ke rumus ini:

    Back()

  3. Tambahkan kontrol LabelErrorText, dan tetapkan properti Teks ke rumus ini:

    EditForm.Error

    Bila pengguna memilih tombol Simpan, perubahan pada kontrol Formulir akan dikirim ke sumber data yang mendasari.

    • Jika pengiriman berhasil, setiap perubahan akan disimpan atau, jika kontrol Formulir berada dalam mode Baru, rekaman dibuat. ErrorTextkosong dan layar sebelumnya akan muncul kembali.
    • Jika pengiriman gagal, ErrorText menampilkan pesan kesalahan yang mudah digunakan, dan layar saat ini tetap terlihat sehingga pengguna dapat memperbaiki masalah dan mencoba lagi.
  4. Tambahkan kontrol Tombol, atur properti Teks untuk menampilkan Batalkan, lalu tetapkan properti OnSelect ke rumus ini:

    ResetForm( EditForm ); Back()

    Ketika pengguna memilih tombol Batalkan, nilai pada kontrol Formulir diatur ulang ke sebelum pengguna mulai mengeditnya, layar sebelumnya akan muncul kembali, dan kontrol Formulir akan dikembalikan ke mode Edit jika sebelumnya berada dalam mode Baru.

  5. Tambahkan kontrol Tombol, atur properti Teks untuk menampilkan Baru, lalu tetapkan properti OnSelect ke rumus ini:

    NewForm( EditForm ); Navigate( EditScreen, None )

    Bila pengguna memilih tombol Baru, kontrol formulir akan beralih ke mode Baru, nilai default untuk kontrol Formulir sumber data mengisi kontrol tersebut, dan layar yang berisi kontrol Formulir akan ditampilkan. Bila fungsi SubmitForm berjalan, rekaman dibuat dan bukan diperbarui.