Trik berikut ini menunjukkan kepada Anda betapa mudahnya menyembunyikan kolom tertentu di halaman List yang menampilkan mode Grid Add atau Grid Edit pada Aplikasi Web yang dihasilkan oleh PHPMaker. Kadang-kadang Anda membutuhkan kondisi ini, di mana untuk kolom tertentu tidak perlu ditampilkan pada saat Pengguna menginput atau mengubah data melalui mode Grid Add atau Grid Edit.
Katakanlah kita akan menyembunyikan sebuah field yang bernama ContactName pada kedua mode di atas tadi. Maka solusinya cukup letakkan kode ini pada server event Page_Render di bawah lokasi berikut: Server Events -> Table-Specific -> List Page:
if ($this->CurrentAction == "gridadd" || $this->CurrentAction == "gridedit") { $this->ContactName->Visible = FALSE; }
Perhatikan bahwa kita memeriksa mode Grid Add atau Grid Edit dengan menggunakan property CurrentAction milik class Table. Jika memenuhi syarat, maka set property Visible milik field yang diinginkan menjadi FALSE.
Tapi jangan lupa untuk mengantisipasi kemungkinan field tersebut bersifat mandatory (tidak boleh dikosongkan), sekalipun disembunyikan pada mode Grid Add atau Grid Edit. Anda perlu menanganinya dari server event Row_Inserting maupun Row_Updating.
Contoh, untuk kasus penambahan data, maka Anda harus menangani field tersebut supaya tidak kosong, misalnya dengan menugaskan nilai tertentu pada server event Row_Inserting, seperti kode berikut:
$rsnew["ContactName"] = "Nilai default"; // hanya contoh saja
Sementara untuk kasus pengubahan data, maka Anda harus menangani field tadi dengan cara menggunakan nilai lama kepada nilai yang baru pada server event Row_Updating, seperti kode berikut:
$rsnew["ContactName"] = $rsold["ContactName"]; // gunakan nilai dari recordset yang lama
Betapa mudah dan sederhana, bukan? 😀
ame isfine mengatakan
Pak Masino, bagaimana cara menampilkan sebuah tombol ‘hint’ seperti help di sebelah sebuah field? di grid add/edit
Saya sempat coba pake
$this->field->CustomMsg = “Message”; tapi ini hanya tampil di page add / edit, tidak di grid.
Syntaxnya apa yah, terimakasih sebelumnya
Masino Sinaga mengatakan
Untuk Grid sepertinya memang belum support, kecuali Anda mau utak-atik sendiri menggunakan fitur Startup Script dari project PHPMaker.
Bayu mengatakan
Bang Masino,
Ini kan untuk visible.
Kalau untuk disable, gimana?
Terima kasih banyak.
Masino Sinaga mengatakan
Jadi seperti ini: