Ada yang pernah memilih USER SELECT dari lokasi Fields setup -> Advanced Search Page -> Operator pada PHPMaker 2021? Jika ya, maka itu artinya kita dapat menggunakan beberapa Operator pencarian yang tersedia di sana.
Kadang-kadang, kita tidak ingin menggunakan semua Operator pencarian tersebut. Kita hanya ingin menampilkan 2 Operator pencarian, yaitu = dan LIKE (contains). Sedangkan Operator pencarian lainnya harus disembunyikan. Bagaimana caranya?
Hohoho… ternyata jawabannya mudah dan cepat sekali.
Katakanlah kita akan mengimplementasikan pada field LastName di table employees dari project demo2021 yang bisa Anda download dan coba sendiri di localhost masing-masing.
Pastikan kita sudah memilih USER SELECT dari bagian Fields setup, untuk field LastName pada table employees.
Pastikan juga kita sudah mengaktifkan Advanced dari Table setup -> Search, supaya PHPMaker 2021 nanti men-generate halaman Advanced Search atau Pencarian Lanjutan.
Setelah itu, salin kode CSS di bawah ini ke lokasi berikut pada project PHPMaker 2021 Anda: HTML -> Styles -> Users:
#z_LastName { /* I use the name of the select tag */ option[value="<>"] {display: none;}; option[value="<"] {display: none;}; option[value=">"] {display: none;}; option[value="<="] {display: none;}; option[value=">="] {display: none;}; option[value="NOT LIKE"] {display: none;}; option[value="STARTS WITH"] {display: none;}; option[value="ENDS WITH"] {display: none;}; option[value="IS NULL"] {display: none;}; option[value="IS NOT NULL"] {display: none;}; option[value="BETWEEN"] {display: none;}; }
Berikutnya, generate ulang semua file script seperti biasa dengan menggunakan PHPMaker 2021.
Kode di atas akan ditambahkan oleh PHPMaker 2021 ke dalam file demo2021.css (asumsi: kita menggunakan project demo2021).
Untuk memastikan Aplikasi Web menggunakan file demo2021.css yang versi terakhir tadi, maka silahkan muat ulang file ini dari browser, misalkan dengan mengetik alamat ini di browser: http://localhost/demo2021/css/demo2021.css lalu cek, maka seharusnya PHPMaker 2021 akan menambahkan kode berikut di bagian paling bawah dari isi file demo2021.css tadi:
#z_LastName { /* I use the name of the select tag */ } #z_LastName option[value="<>"] { display: none; } #z_LastName option[value="<"] { display: none; } #z_LastName option[value=">"] { display: none; } #z_LastName option[value="<="] { display: none; } #z_LastName option[value=">="] { display: none; } #z_LastName option[value="NOT LIKE"] { display: none; } #z_LastName option[value="STARTS WITH"] { display: none; } #z_LastName option[value="ENDS WITH"] { display: none; } #z_LastName option[value="IS NULL"] { display: none; } #z_LastName option[value="IS NOT NULL"] { display: none; } #z_LastName option[value="BETWEEN"] { display: none; }
Perhatikanlah sekarang kode yang sudah ditambahkan tadi. PHPMaker 2021 akan secara otomatis menambahkan id selector dari field LastName tadi di setiap option dari Operator pencarian yang ingin kita sembunyikan tersebut.
Sekarang cobalah akses Aplikasi Web dari browser, login dengan username admin dan password master, lalu klik menu Admin Only -> Employees, lalu klik tombol kaca pembesar yang ada huruf A di dalamnya, dengan tooltip Advanced Search.
Di halaman Advanced Search yang muncul berikutnya, klik pada combobox yang terdapat di sebelah kanan label Last Name, maka Operator Pencarian yang tersedia di sana hanya = dan contains atau LIKE.
Mission completed!
Pandanwangiii mengatakan
Halo, Pak. Web ini sangat bermanfaat buat saya yang baru belajar PHPMaker. Saya masih baru menggunakan tool ini, jadi saya masih sedikit kebingungan. Ada 2 hal yang saya mau tanyakan sama Bapak.
1. Jika saya punya 2 field di salah satu tabel, (nama_depan dan nama_belakang), bagaimana caranya di list page saya gabungkan 2 field itu jadi satu? Dibagian mana saya harus simpan CONCAT(`nama_depan`,”`nama_belakang`)?
2. Saya punya master detail 2 table yg salah satu tabelnya mempunyai field status yang bernilai 1, jika sudah tambahkan datanya di master detail, nilai field status di table tersebut menjadi 2?
Terimakasih sebelumnya, Pak. Sehat-sehat selalu.
Masino Sinaga mengatakan
Halo Pandanwangiii,
1. Untuk membuat gabungan dua field, bisa pakai fitur Custom Fields. Silahkan baca topik Custom Fields dari menu Help PHPMaker 2021.
2. Bisa pakai server event Row_Inserted dengan memanggil fungsi global ExecuteUpdate untuk mengubah nilai field di table lain. Silahkan baca topik Server Events and Client Scripts untuk info dan contoh lebih lanjut.
Terima kasih. Salam sehat kembali, ya. 🙂
Pandanwangiii mengatakan
Terima kasih pak untuk jawabannya, Ada pertanyaan tambahan/lanjutan untuk nomor 1 pak, kalo berkenan tolong dijawab. Saya berhasil menampilkan 2 field yg digabungkan lewat custom field, tapi posisi custom field ada di paling kanan tabel, bagaimana caranya agar custom field bisa digeser ke posisi paling kiri?
Terima kasih.
Masino Sinaga mengatakan
Tinggal di-drag and drop aja Custom Field nya ke posisi yang diinginkan, dari bagian Fields setup dari dalam project PHPMaker-nya, setelah itu generate ulang lagi semua file script seperti biasa.
Pandanwangiii mengatakan
Semua yang saya tanyakan sudah berhasil semua berkat arahan dan tutorial dari Bapak. Terimakasih, Pak.
Masino Sinaga mengatakan
Sama-sama. 🙂
Iyus mengatakan
Selamat siang pak masino. Mau tanya,, bagaimana cara membuat combobox untuk filter data di list page?
Sy punya tabel siswa, fieldnya nama dan kelas. Sy ingin membuat filter combobox di list page. Anggaplah isi combobox : kelas 1, kelas 2,…
Kalau bisa, event apa yg bisa di gunakan?
Masino Sinaga mengatakan
Selamat siang Iyus,
Untuk mem-filter data di control Combobox, dapat menggunakan server event Lookup_Selecting.
Silahkan baca topik Server Events and Client Scripts dari menu Help PHPMaker untuk info dan contoh lebih lanjut.
Iyus mengatakan
Terima kasih atas jawabannya pak. Sy sedang utak atik Lookup_Selecting.
Oiya,,saya juga membuat crosstab report, dan tidak ada/(sy belum tahu) fitur search di crosstab report.
Apakah memungkinkan ada search, atau filter di crosstab report?
Di forum hkforums sy baca2, tapi Krn kemampuan b Inggris minim, jadi mungkin ada yang terlewati
Masino Sinaga mengatakan
Sama-sama.
Fitur Search di CrossTab Reports ada kok. Anda bisa melihat contohnya dari Quarterly Orders by Product pada project demo2021.
Iyus mengatakan
Terima kasih ya pak. Sy ngoding dulu.
Masino Sinaga mengatakan
Oke, sama-sama.
Pandanwangiii mengatakan
Selamat pagi Pak, saya balik lagi bawa pertanyaan baru nih Pak, hehehe. Ada beberapa pertanyaan yang mau saya tanyakan.
1. Jika saya punya field sub total di detail tabel dan field total di master tabel, bagaimana cara saya agar field total terisi otomatis sesuai dengan jumlah total di field subtotal? Apa yang harus saya pelajari?
2. Jumlah default row di detail tabel kan ada 5, bagaimana caranya saya ubah agar default rownya hanya ada 3?
Terimakasih, Pak.
Masino Sinaga mengatakan
Selamat malam,
1. Pelajari project ini: Stock Inventory Management. Ulasannya ada di artikel ini: Inventory Stock Management Project, Why Should You Have It?.
2. Ubah nilai Grid-Add row count dari menu Tools -> Advanced Settings, lalu generate ulang semua file script dengan PHPMaker seperti biasa.
Sama-sama.