Masino Sinaga

Web Development and PHPMaker

Anda di sini: Beranda / PHPMaker / Mudahnya Memvalidasi Beberapa Record Sekaligus di Aplikasi Web dari PHPMaker
Menjalankan Kode Setelah Beberapa Record Ditambahkan di Aplikasi Web dari PHPMaker
PHPMaker 11 Semakin Dahsyat dan Fleksibel dengan Twitter Bootstrap 3

Mudahnya Memvalidasi Beberapa Record Sekaligus di Aplikasi Web dari PHPMaker

Sel, 15 Juli 2014 oleh Masino Sinaga 4 Komentar

Ada beberapa server event baru yang ditambahkan mulai PHPMaker versi 11. Empat di antaranya terkait dengan proses penambahan (Add) maupun pembaruan (Edit) untuk beberapa Record sekaligus dalam sebuah Grid (Grid-Add dan Grid-Edit). Selain itu, keempat server event tersebut juga terkait dengan pengolahan data di halaman Master/Detail-Add dan Master/Detail-Edit.

Server event yang pertama yang akan kita bahas bernama Grid_Inserting. Dari namanya saja kita sudah bisa menebak, bahwa server event ini akan dieksekusi ketika sistem sedang berusaha menyimpan beberapa Record sekaligus melalui sebuah Grid. Artinya, kita sebagai Web Developer masih diberi kesempatan oleh PHPMaker untuk membatalkan proses penyimpanan jika business-logic yang kita terapkan di server event ini tidak sesuai dengan Record-record yang akan dimasukkan tersebut. Cukup dengan mengembalikan nilai FALSE untuk membatalkan.

Karena server event ini dijalankan saat beberapa Record sedang ditambahkan, maka halaman yang terkait dengan server event ini adalah Grid-Add untuk satu buah Table. Selain itu, server event Grid_Inserting ini juga diterapkan pada halaman Master/Detail-Add untuk sebuah Table detail. Server event ini tidak memiliki argumen.

Anda dapat menggunakan server event ini untuk memeriksa semua Record yang akan dimasukkan. Jika Anda ingin membatalkan proses penambahan data, maka cukup kembalikan nilai FALSE. Sebaliknya, kembalikan nilai TRUE. Secara standar, server event Grid_Inserting akan mengembalikan nilai TRUE.

Perlu diingat, jika Anda ingin memeriksa masing-masing Record, tidak perlu menggunakan server event ini, tapi cukup gunakan server event Row_Inserting (silahkan cari dan baca artikel saya yang sudah membahas mengenai hal ini). Seperti yang sudah kita ketahui, server event Row_Inserting dipanggil untuk setiap Record yang terdapat di dalam grid.

Dalam contoh berikut akan ditunjukkan bagaimana mudahnya memeriksa nilai di field Percentage untuk semua Record sebelum disimpan ke database haruslah bernilai 100. Jika tidak, maka batalkan proses penambahan Record dan tampilkan pesan.

Satu hal lagi yang perlu diingat, bahwa urutan server event Grid_Inserting dipanggil sebelum server Row_Inserting dieksekusi. Artinya, nilai field pada saat itu belumlah dimuat oleh sistem, tapi Anda dapat memuat mereka dengan menggunakan cara Anda sendiri.

function Grid_Inserting() {
    $rsnew = $this->GetGridFormValues(); // Dapatkan nilai form dari record-record yang baru sebagai sebuah array dari array
    //var_dump($rsnew); die(); // Hilangkan komentar di kode ini untuk mengecek record-record dan mengakhiri script
    $sum = 0;
    foreach ($rsnew as $row) // Loop melalui record-record yang baru
        $sum += intval($row["Percentage"]);
    if ($sum < 100) {
        // Untuk membatalkan, cukup kembalikan nilai False
        $this->CancelMessage = "Total persentase haruslah 100.";
        $this->setFailureMessage($this->CancelMessage);
        return FALSE;
    }         
    return TRUE; 
 }

Keren, ‘kan? 🙂

Ditempatkan di bawah: PHPMaker Ditag dengan:Grid_Inserting, PHPMaker Indonesia, Row_Inserting, Server Events, Tutorial PHPMaker

Masino Sinaga

Web Developer pengguna PHPMaker untuk membangun Aplikasi Web sejak tahun 2004. Sampai sekarang masih aktif dan rajin membagikan pengalamannya menggunakan PHPMaker melalui situs masinosinaga.com, ilovephpmaker.com, dan phpmakerprojects.com.

Menjalankan Kode Setelah Beberapa Record Ditambahkan di Aplikasi Web dari PHPMaker
PHPMaker 11 Semakin Dahsyat dan Fleksibel dengan Twitter Bootstrap 3

Komentar

  1. Sandy mengatakan

    Sab, 20 Mei 2023 pada 6:28 pm

    halo pak masino sinaga.Apakah fungsi grid inserting ini bisa menghitung Grand Total dari SubTotal, seperti Kasir di Point Of Sales, Sebelum di eksekusi bisa kliatan terlebih dahulu Grand Totalnya… mohon penjelasannya , terima kasih

    Balas
    • Masino Sinaga mengatakan

      Sab, 20 Mei 2023 pada 8:01 pm

      Kalau untuk menghitung di sisi server bisa, tapi tidak untuk ditampilkan di sisi client.

      Kalau ingin menampilkan hasil perhitungan di Grid saat data diketik di bagian detail, Anda bisa menggunakan project Stock Inventory Management untuk PHPMaker 2023.

      Balas
  2. Sandy mengatakan

    Ming, 21 Mei 2023 pada 6:39 am

    adakah cara / coding yang bisa dibuat contoh pak?

    Balas
    • Masino Sinaga mengatakan

      Ming, 21 Mei 2023 pada 1:19 pm

      Sayangnya tidak ada, karena cukup rumit untuk menjelaskannya lewat artikel.

      Itulah kenapa lebih simpel menjelaskannya lewat sebuah contoh project yang bisa langsung di-download, dipelajari, sehingga lebih mudah untuk mengimplementasikannya.

      Balas

Tinggalkan Balasan Batalkan balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses

Pos-pos Terbaru

  • Solusi Buat Field Lookup Table yang Bermasalah di Server Hosting
  • Hati-Hati Meredirect Pengguna Setelah Login di PHPMaker 2025
  • Ini Alasan Mengapa Kalian Harus Selalu Pakai PHPMaker versi Terakhir
  • Masino Extensions for PHPMaker 2025 Now Changed!
  • Begini Mudahnya Mengurangi Lebar Combobox pada PHPMaker 2025

Menu

  • Siapa Saya?
  • Web Development
  • PHPMaker
  • Umum
  • Syarat dan Ketentuan
  • Sitemap (Peta Situs)
  • Komentar

Komentar Terbaru

  • Masino Sinaga pada Tips buat Anda Pemula yang Baru Mengenal dan Menggunakan PHPMaker
  • fauzi pada Tips buat Anda Pemula yang Baru Mengenal dan Menggunakan PHPMaker
  • Masino Sinaga pada Pengaturan Level Field pun Bisa Disalin dengan Cepat di PHPMaker
  • Dendi pada Pengaturan Level Field pun Bisa Disalin dengan Cepat di PHPMaker
  • Masino Sinaga pada Menyembunyikan Kolom di Tabel halaman List tapi Menampilkannya di Extended Search

Situs Terkait

  1. I Love PHPMaker
  2. Situs Resmi PHPMaker
  3. Forum Diskusi PHPMaker
  4. PHPMaker di IlmuKomputer.com
  5. PHPMaker Projects
  6. PHPMaker Learning

Baru di PHPMaker?

Baca ini terlebih dulu ...

  1. Ayo Menjadi Web Developer yang Cerdas!
  2. PHPMaker: PHP Code Generator + PHP Framework
  3. Pertanyaan-Pertanyaan yang Paling Sering Diajukan Seputar PHPMaker
  4. Tips buat Anda Pemula yang Baru Mengenal dan Menggunakan PHPMaker
  5. Bacalah Help, Bacalah Help, dan Bacalah Help di PHPMaker!

(c) Masino Sinaga 2009 - 2025 | WordPress | Catat masuk | Kembali ke atas