Masino Sinaga

Web Development and PHPMaker

Anda di sini: Beranda / PHPMaker / Menerapkan Aksi Kostum untuk Record Terpilih di Aplikasi Web dari PHPMaker
Menambahkan Business Logic Saat Pengguna Login di Aplikasi Web dari PHPMaker
Memanipulasi Elemen di Dalam Tabel pada Aplikasi Web dari PHPMaker

Menerapkan Aksi Kostum untuk Record Terpilih di Aplikasi Web dari PHPMaker

Ming, 29 Juni 2014 oleh Masino Sinaga 5 Komentar

Seperti yang kita ketahui, PHPMaker memiliki kemampuan untuk menghasilkan halaman List yang menampilkan kumpulan Record pada sebuah tabel. Di setiap Record pada tabel tersebut terdapat elemen checkbox yang memungkinkan Pengguna untuk memilih satu atau beberapa Record dengan memberi tanda centang. Selanjutnya Pengguna bisa memperbarui atau menghapus Record yang sudah memiliki tanda centang tadi.

Sebenarnya ini merupakan fitur standar yang terdapat di halaman List. Pengguna dapat memperbarui (Multi-Update) atau bahkan menghapus (Multi-Delete) beberapa Record sekaligus berdasarkan Record yang terpilih melalui elemen checkbox tersebut.

Berangkat dari fitur tersebut, ternyata Web Developer masih membutuhkan kemudahan untuk melakukan aksi tertentu lainnya terhadap beberapa Record yang terpilih pada halaman List tadi. Tentu saja selain menggunakan fitur Multi-Update dan Multi-Delete. Lebih tepatnya fitur pemutahiran data tanpa harus menampilkan halaman seperti Multi-Update.

Masih bingung? Mari simak contoh berikut. Katakanlah seorang Pengguna ingin mengubah nilai yang terdapat pada field tertentu milik beberapa Record tanpa harus membuka halaman Multi-Update. Untuk itu, maka Pengguna harus memberi tanda centang pada elemen checkbox milik beberapa Record tadi, lalu mengklik sebuah tombol di halaman List tadi untuk selanjutnya memperbarui Record-Record tadi.

PHPMaker sudah menyediakan server event yang terkait dengan kebutuhan tersebut. Namanya adalah Row_CustomAction yang terdapat di halaman List. Seperti namanya, server event ini akan dipanggil oleh baris Record yang sudah ditandai dengan tanda centang melalui elemen checkbox untuk melakukan aksi yang bisa dikostumisasi.

Server event ini terkait erat dengan server event lain yang bernama Page_Load milik halaman List. Artinya, untuk menerapkan kebutuhan aksi kostum tadi, maka Anda sebagai Web Developer harus menulis kode di kedua server event tersebut (Page_Load dan Row_CustomAction).

Langsung saja kita simak contoh berikut.

function Page_Load() {
     $this->CustomActions["pesanan"] = "Perbarui Pesanan"; 
}

ID dari aksi kostum tersebut adalah pesanan, sedangkan teks yang akan ditampilkan pada tombol untuk mengeksekusi aksi kostum tadi adalah Perbarui Pesanan.

Dari contoh itu, sistem memperbarui nilai property CustomActions milik class Table di server event Page_Load. Akibatnya, sistem akan menambahkan elemen checkbox di setiap Record pada tabel yang terdapat di halaman List. Ya, mirip dengan fitur Multi-Update dan Multi-Delete.

Setelah itu, pastikan juga Anda menambahkan kode berikut di server event Row_CustomAction:

function Row_CustomAction($action, $row) {
     if ($action == "pesanan") 
         ew_Execute("UPDATE orders SET Sudah_Pesan = 'Y' WHERE ID_Pesanan = " . $row["ID"]); // Asumsi: field ID bertipe integer
}

Dari kode di server event Row_CustomAction tersebut, maka sistem akan memperbarui tabel orders dengan mengeset atau memperbarui nilai Y pada field Sudah_Pesan berdasarkan field ID_Pesanan.

Ketika Pengguna Aplikasi Web mengklik link atau tombol yang bertuliskan Perbarui Pesanan (sesuai dengan nama dari CustomAction tadi), maka sistem akan mengirim halaman List tersebut kembali ke dirinya sendiri. Pada saat itu terjadi, maka server event Row_CustomAction akan dipanggil (setelah memanggil server event Page_Load dan sebelum memanggil server event Page_Render) untuk setiap baris Record yang terpilih untuk memproses aksi kostum tadi.

Wouw! Betapa dahsyatnya menambahkan business-logic sendiri untuk mengubah beberapa Record yang diinginkan oleh Pengguna, bukan? 🙂

Ditempatkan di bawah: PHPMaker Ditag dengan:Page_Load, PHPMaker Indonesia, Row_CustomAction, 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.

Menambahkan Business Logic Saat Pengguna Login di Aplikasi Web dari PHPMaker
Memanipulasi Elemen di Dalam Tabel pada Aplikasi Web dari PHPMaker

Komentar

  1. Cak Sobri mengatakan

    Sen, 30 Juni 2014 pada 8:32 am

    Awalnya bingung dengan server event ini karna di versi 9 belum ada.. Ilmu baru, dasyatnya ruar biasa… 😀

    Balas
    • Masino Sinaga mengatakan

      Sen, 30 Juni 2014 pada 9:05 am

      Betul, sangat sederhana pengimplementasiannya, tetapi sangat dahsyat hasilnya. 🙂

      Balas
  2. Cak Sobri mengatakan

    Kam, 3 Juli 2014 pada 11:37 pm

    Bagaimana jika action pesanan disable di beberapa row di halaman list dengan syarat tertentu… ?

    Balas
    • Masino Sinaga mengatakan

      Jum, 4 Juli 2014 pada 8:30 am

      Tidak bisa dibuat seperti itu. Solusinya, jangan menggunakan Row_CustomAction, tapi dengan memanipulasi fitur/link Edit milik setiap record (bukan Multi-Update).

      Anda bisa menyembunyikan link/fitur Edit yang terdapat di record tertentu dengan menggunakan server event ListOptions_Rendered atau Row_Rendered. Baca topik Server Events and Client Scripts di file Help PHPMaker.

      Balas

Trackbacks

  1. Row_CustomAction di PHPMaker Sekarang Bisa Lewat AJAX Atau HTTP POST – Masino Sinaga berkata:
    Sel, 9 Februari 2016 pukul 7:38 pm

    […] yang masih ingat dengan server event Row_CustomAction? Dengan menggunakan server event ini, yang dikombinasikan dengan server event Page_Load milik […]

    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

  • Cara Menampilkan Tombol Close di Footer Modal buat Custom File yang SkipHeaderFooter-nya Bernilai True
  • 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!

Menu

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

Komentar Terbaru

  • Masino Sinaga pada Cara Menampilkan Tombol Close di Footer Modal buat Custom File yang SkipHeaderFooter-nya Bernilai True
  • Charly pada Menonaktifkan Field Tertentu Saat Data Diubah pada Aplikasi Web dari PHPMaker
  • Nanda pada Cara Menampilkan Tombol Close di Footer Modal buat Custom File yang SkipHeaderFooter-nya Bernilai True
  • Nanda pada Mudahnya Menghitung Saldo per Transaksi di Aplikasi Web dari PHPMaker
  • Masino Sinaga pada Menonaktifkan Field Tertentu Saat Data Diubah pada Aplikasi Web dari PHPMaker

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