Masino Sinaga

Web Development, PHPMaker, & PHP Report Maker

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

Juni 29, 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 dan ilovephpmaker.com.

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

Comments

  1. Cak Sobri mengatakan

    Juni 30, 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

      Juni 30, 2014 pada 9:05 am

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

      Balas
  2. Cak Sobri mengatakan

    Juli 3, 2014 pada 11:37 pm

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

    Balas
    • Masino Sinaga mengatakan

      Juli 4, 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:
    Februari 9, 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 *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Pos-pos Terbaru

  • Server Event Page_Render dan Page_Rendering di PHPMaker, Apa Sih Bedanya?
  • Begini Mudahnya Mengubah Judul Browser Secara Dinamis di PHPMaker 2021
  • Solusi Supaya PreviewRow dan PreviewOverlay Bisa Sama-Sama Berfungsi di PHPMaker 2021
  • Jangan Pernah Lagi Mencampur Kode PHP di Client Script atau Startup Script pada PHPMaker 2021
  • Seperti Ini Mudahnya Menyembunyikan Data Label di Chart dari PHPMaker 2021

Menu

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

Komentar Terbaru

  • Masino Sinaga pada Setting Import Data Berikut Wajib Anda Ketahui Bedanya di PHPMaker 2021
  • Masino Sinaga pada Jangan Pernah Lagi Mencampur Kode PHP di Client Script atau Startup Script pada PHPMaker 2021
  • Masino Sinaga pada Mudahnya Menambahkan Global Function untuk Auto-Update Field di PHPMaker
  • Abu Syifa pada Setting Import Data Berikut Wajib Anda Ketahui Bedanya di PHPMaker 2021
  • Abu Syifa pada Jangan Pernah Lagi Mencampur Kode PHP di Client Script atau Startup Script pada PHPMaker 2021

Situs Terkait

  1. I Love PHPMaker
  2. Situs Resmi PHPMaker
  3. Forum Diskusi PHPMaker
  4. PHPMaker di IlmuKomputer.com
  5. 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 - 2019 | WordPress | Catat masuk | Kembali ke atas