Sebagai Web Developer, Anda pasti tidak akan bisa menghindari untuk menggunakan control ComboBox pada sebuah Field yang berperan sebagai Lookup Field ke tabel lain. Bagi yang belum paham dengan arti Lookup Field, ini adalah Field yang terkait dengan tabel lain untuk me-lookup data tertentu, seperti misalnya data referensi Produk. Data yang disimpan sebenarnya adalah Kode Produk, sementara data yang ditampilkan adalah Nama Produk dan atau data terkait lainnya di tabel Produk. Oleh karena itu, data ini sering ditampilkan melalui control ComboBox atau Select Option.
Aplikasi Web yang dihasilkan oleh PHPMaker tentu saja mendukung fitur ini. Ketika sebuah Field yang berperan sebagai Lookup Field tadi ditampilkan pada panel Pencarian Cepat (menggunakan fitur Extended Search) maupun pada Pencarian Lanjutan (Advanced Search), maka Field tersebut akan ditampilkan dengan menggunakan control ComboBox juga. Itu artinya, ketika Pengguna ingin mencari data yang terkait dengan Field ini, maka mereka harus memilih salah satu pilihan yang tersedia.
Kalau jumlah pilihan Record di ComboBox tersebut relatif sedikit, mungkin tidak menjadi masalah. Tetapi bagaimana jika jumlahnya relatif banyak? Bukankah hal ini justru menyulitkan Pengguna? Selain itu, bagaimana pula jika Pengguna ingin mencari tanpa harus memilih salah satu Record yang terdapat di ComboBox tersebut? Bukankah akan lebih baik jika Pengguna dapat mengetikkan beberapa karakter dari data yang akan dicarinya? Artinya? Seharusnya jika Field ini disertakan di panel Pencarian, maka control yang digunakan adalah TextBox, dan bukan ComboBox lagi.
Hehehe… jangan khawatir! Ternyata PHPMaker sudah duluan mengantisipasi kekhawatiran kita tadi. Fitur pencarian yang hebat sekaligus fleksibel untuk Lookup Field ini sebenarnya sudah lama tersedia di PHPMaker. Hanya saja, saya baru menemukan kemampuan ini beberapa hari yang lalu, ketika salah satu Aplikasi Web yang saya bangun membutuhkan fitur pencarian yang fleksibel tanpa selalu harus menggunakan control ComboBox. Bayangkan, sesuatu yang sebelumnya belum pernah terpikirkan oleh kita mampu atau tidak dihasilkan oleh PHPMaker, ternyata sudah tersedia!
PHPMaker memberi kesempatan kepada Web Developer untuk mengubah control yang digunakan oleh Lookup Field tadi, dari yang semula menggunakan ComboBox, menjadi menggunakan TextBox. Tidak banyak Web Developer yang mengetahui kemampuan hebat yang disediakan oleh PHPMaker ini. Beruntunglah Anda sebagai Web Developer jika membaca artikel ini, karena itu artinya, Anda sudah dapat mengoptimalkan fitur pencarian Lookup Field tersebut pada Aplikasi Web yang Anda bangun dengan PHPMaker.
Baiklah, supaya tidak semakin penasaran, ijinkan saya untuk memberitahukan kepada Anda bagaimana cara untuk mengimplementasikan fitur tersebut.
- Supaya lebih mudah diikuti, pastikan Anda sudah membuka project Demo yang sudah disediakan oleh PHPMaker
- Klik tabel orderdetails dari panel Database.
- Di panel sebelah kanan, pastikan tab Fields sudah terbuka.
- Klik field ProductID, lalu beri tanda centang pada kolom Extended Search untuk field tersebut. Tujuannya supaya Field ini ditampilkan pada panel Pencarian Cepat.
- Pilih USER SELECT pada kolom Search Opr 1 untuk field tersebut. Tujuannya supaya di bagian operator pada panel pencarian nanti Pengguna dapat memilih operator pencarian untuk field ini.
- Selanjutnya, pastikan Anda sudah melihat panel di sebelah kanan bawah yang bertuliskan Lookup Table.
- Dari panel Lookup Table tadi, pastikan Anda sudah mengaktifkan dua item pengaturan berikut: Allow sort/search dan Text input for search.
- Terakhir, simpan perubahan pada project Demo tersebut, lalu generate ulang semua file script dengan menggunakan PHPMaker.
Setelah proses generate file script selesai dilakukan oleh PHPMaker, sekarang silahkan Anda login ke Aplikasi Web yang sudah dihasilkan tadi, lalu klik menu Order Details. Di halaman List dari Order Details itu Anda akan melihat di panel Pencarian field ProductID tadi, dan pastikan Anda memilih operator pencarian contains (jika bahasa Inggris) atau mengandung (jika bahasa Indonesia). Anda juga sekarang seharusnya melihat bahwa di sebelah kanan dari pilihan operator pencarian tadi terdapat sebuah TextBox yang memiliki water mark di dalamnya bertuliskan ProductID.
Nah, sampai di sini berarti Anda sudah berhasil membuat Lookup Field tadi dari yang semula menggunakan control ComboBox menjadi menggunakan control TextBox sehingga Pengguna dapat mencari data tanpa harus selalu memilih salah satu Record di ComboBox ProductID tersebut. Karena sudah menggunakan TextBox, maka itu artinya Pengguna dapat mencari data berdasarkan beberapa karakter dari Nama Produk (field ProductName) yang diketahui. Atau bahkan, Pengguna juga dapat mencari berdasarkan data jumlah stok produk tersebut (field UnitsInStock).
Jangan khawatir jika Anda belum sempat bermain-main dengan project Demo yang saya maksud di atas, karena Anda bisa mencoba hasilnya melalui situs Demo I Love PHPMaker yang sudah saya sediakan. Cukup klik di sini, lalu login dengan menggunakan Username admin dan Password master. Di halaman menu Order Details, Anda bisa mencari berdasarkan beberapa karakter dari nama produk, atau berdasarkan data jumlah unit stok.
Wow, luar biasa memang kehebatan PHPMaker dalam menghasilkan fitur pencarian yang hebat sekaligus fleksibel. Jujur, fitur seperti ini belum pernah saya temukan di tools sejenis lainnya seperti ScriptCase, dan sebagainya.
😀
Cak Sobri mengatakan
Kalo untuk pencarian menggunakan Force selection kita harus mengetahui kata/huruf terdepan terlebih dahulu untuk menampilkan data yg di lookup, apakah bisa pencariannya tidak harus mengetahui huruf depannya?
Masino Sinaga mengatakan
Sudah coba menggunakan Search Operator LIKE dari Fields Setup-nya?
Cak Sobri mengatakan
Sudah, tetep gak bisa. Misal searh dg nama Cak Sobri tapi ketik “sobri” saja tidak muncul.
Cak Sobri mengatakan
Pencarian Force selection masih belum bisa ya untuk pencarian kata dari tengah atau belakang ?
Masino Sinaga mengatakan
Sudah coba di versi 11? Kalau belum bisa, kenapa gak diusulkan aja sebagai Feature Requests di forum diskusi PHPMaker?
Masino Sinaga mengatakan
Ternyata fitur Force selection bisa mencari kata dari tengah atau belakang. Silahkan simak artikel ini: Nikmatnya Auto-Suggest di Aplikasi Web yang Dihasilkan oleh PHPMaker.
Pastikan Anda sudah mengaktifkan item Auto-Suggest for all display fields dari menu Tools -> Advanced Settings.
Barusan saya coba, dan berhasil! 🙂
Safi mengatakan
Goodjob
Masino Sinaga mengatakan
Thanks.