Setelah di artikel sebelumnya kita sudah mengetahui bagaimana mudahnya kita dapat menampilkan control Checkbox yang terdapat di setiap Record pada halaman List, maka di artikel ini kita akan membahas bagaimana cara untuk menyembunyikan control Checkbox tersebut hanya untuk Record yang memenuhi kriteria tertentu.
PHPMaker sudah menyediakan server event yang bernama ListOptions_Rendered yang berfungsi untuk memanipulasi item yang terdapat di dalam tabel pada halaman List. Salah satu item itu adalah control Checkbox, sehingga kita dapat menggunakan server event ini untuk memanipulasi penampakan Checkbox.
Mungkin di antara Anda ada yang bertanya, mengapa atau untuk alasan apa kita harus menyembunyikan control Checkbox yang terdapat di Record tertentu. Biasanya, jika kita tidak ingin Pengguna memproses Record tersebut (seperti misalnya memperbarui, menghapus, mengekspor, atau operasi tertentu lainnya) karena sudah memenuhi kondisi tertentu (tergantung dari kriteria yang kita tetapkan).
Salah satu contoh penerapan kriteria yang saya maksud tadi adalah seperti ini. Katakanlah kita ingin menyembunyikan control Checkbox milik Record pada menu Orders jika kondisi nilai pada field OrderID-nya adalah 11073, maka kode selengkapnya adalah:
// ListOptions Rendered event function ListOptions_Rendered() { // Example: //$this->ListOptions->Items["new"]->Body = "xxx"; if ($this->OrderID->CurrentValue == "11073") { $this->ListOptions->Items["checkbox"]->Body = ""; } }
Dari contoh kode di atas, kita memeriksa kondisi dengan menggunakan property CurrentValue milik object field OrderID, dan jika memenuhi kondisi, maka kita tinggal mengosongkan nilai dari property Body milik control Checkbox yang merupakan salah satu Items dari object ListOptions.
Betapa mudah dan cepatnya, bukan? 😀
erlangga mengatakan
Melihat situs ini membuat saya jadi pengen belajar PHP menggunakan PHPMaker pak.
Tapi ada beberapa yang ingin saya tanyakan.
Kan dalam penggunaan PHPMaker ini bapak selalu mengatakan flexibel, cepat, menyenangkan.
Ada juga contoh untuk studi kasus Sistem Informasi KRS online (http://www.masinosinaga.com/phpmaker/mudahnya-memasukkan-data-yang-terpilih-di-aplikasi-web-dari-phpmaker/) yang sudah bapak buat.
Nah kalo untuk studi kasus SPK (Sistem Pendukung Keputusan), ex menggunaan FUZZY LOGIC. Bagaimana contoh nya pak ?
Kalo boleh sharing-sharing penyelesaian yang sederhana saja pak, seperti menentukan jarak menggunakan FUZZY LOGIC & PHPMaker gitu pak.
Sebelumnya saya ucapkan terima kasih untuk responnya.
Masino Sinaga mengatakan
Boleh saya tahu salah satu contoh pengimplementasian sistem yang sudah menerapkan fuzzy logic untuk menentukan jarak? Sebagai pedoman saya untuk menerapkannya di PHPMaker?
erlangga mengatakan
Misalkan untuk mengetahui jarak ke suatu tempat. Dalam fuzzy logic kan memiliki kriteria Dekat, Sedang, dan Jauh, dimana kita tentukan range nya untuk dekat 0-60km, sedang 60-120km, Jauh >120km.
Nah kita hanya menginputkan jarak nya saja.
Nanti SPK Fuzzy Logic akan menghitung dengan algoritma nya dan menghasilkan termasuk ke Dekat, Sedang, atau Jauh.
Masino Sinaga mengatakan
O, begitu. Di PHPMaker sudah tersedia area untuk menempatkan fungsi global yang kita buat sendiri dari lokasi Server Events -> Global -> All Pages -> Global Code.
Dari contoh barusan, maka kita bisa membuat function dengan satu parameter nilai jarak, lalu menempatkannya di Global Code tadi, yaitu:
Jadi, function HitungJarak tersebut bisa dipanggil dari bagian manapun di aplikasi web yang dihasilkan oleh PHPMaker. Apakah seperti itu yang dimaksud?
erlangga mengatakan
Maaf pak atas penjelasan saya sebelumnya,
mungkin untuk lebih jelasnya saya kirimkan ke email bapak (masino.sinaga@gmail.com) ya.
Masino Sinaga mengatakan
Silahkan.