Satu lagi bukti nyata bahwa begitu fleksibelnya PHPMaker digunakan untuk membangun Aplikasi Web yang dinamis dan sesuai dengan kebutuhan maupun business logic yang ditentukan oleh Web Developer, adalah dengan disediakannya kemampuan untuk menyembunyikan kolom di halaman Export Data. Anda sebagai Web Developer tidak perlu memodifikasi file script yang sudah di-generate oleh PHPMaker. Anda tidak perlu memodifikasi Template yang digunakan oleh PHPMaker. Anda cukup menggunakan fitur Server Events di PHPMaker.
Seperti yang sudah kita ketahui, PHPMaker memiliki fitur Export Data pada Aplikasi Web yang dihasilkannya ke dalam 7 output, yaitu: Printer Friendly (Ramah Cetakan), Ekspor ke Excel, Ekspor ke Word, Ekspor ke CSV, Ekspor ke XML, Ekspor ke HTML, Ekspor ke PDF, dan Send to Email. Kadang-kadang, tidak semua kolom di tabel pada halaman List harus diekspor. Ada kalanya kita perlu menyembunyikan kolom tertentu untuk tipe Export Data tertentu.
Katakanlah kita akan menyembunyikan Field atau kolom ContactTitle jika Pengguna melakukan Export Data yang output-nya ke Printer Friendly. Maka solusinya sangatlah sederhana. Cukup letakkan tiga baris kode ini ke dalam server event Page_Load di bawah lokasi Server Events -> Table-Specific -> List Page:
if ($this->Export == "print") { $this->ContactTitle->Exportable = FALSE; }
Perhatikan kode tersebut, kita cukup hanya menggunakan property Export milik class Table untuk memeriksa tipe output keluaran dari Export Data. Untuk Printer Friendly, maka kita menggunakan nilai print. Selanjutnya jika tipe output tersebut memenuhi syarat, maka set property Exportable milik field ContactTitle dengan nilai FALSE, sehingga kolom ini tidak diikutkan untuk diekspor datanya.
Sedangkan untuk tipe output Export Data lainnya dari yang sudah saya sebutkan di atas tadi, masing-masing adalah: excel, word, csv, xml, html, pdf, dan email.
Betapa mudah dan simpel sekali, bukan? 😀
Pak bgmn jika sy ingin menyembunyikan berdasarkan level user. misal level 2 yg sembunyikan field contactnya sdgkn untuk level lain tidak / maksudnya tetap muncul
Tinggal diubah saja bagian if menjadi seperti ini:
Terima Kasih Pak atas pencerahannya