Beberapa kali di Aplikasi Web yang saya kembangkan dengan PHPMaker saya harus mengambil data tertentu dari bagian Master untuk selanjutnya ditampilkan di bagian Detail pada halaman Master/Detail. Mungkin Anda sebagai Web Developer pun pernah mengalami hal ini. Jika Anda mengalami kesulitan selama ini untuk mengimplementasikan hal tersebut, maka berikut ini solusinya.
Untuk menampilkan data tertentu yang diambil dari bagian Master dan menampilkannya di bagian Detail, maka kita cukup mengoptimalkan server event Row_Rendered. Enaknya, PHPMaker sudah menyediakan sebuah variabel global yang merupakan hasil dari instansiasi dari class tabel Master. Sesuai dengan nama tabel Master-nya, maka Anda cukup menggunakan variabel global ini untuk mengakses nilai pada field tertentu di tabel Master tadi.
Supaya lebih mudah dipahami, mari simak contoh berikut. Katakanlah nama tabel Master tersebut adalah master dan nama salah satu field di tabel Master yang ingin diambil datanya adalah Master1; dengan asumsi field ini termasuk yang ditampilkan di halaman List. Selanjutnya, kita ingin menampilkan data dari field Master1 tadi ke dalam field Detail2 pada bagian tabel Detail di halaman Master/Detail dengan dipisahkan oleh karakter “-“.
Maka kode di dalam server event Row_Rendered milik tabel Detail itu adalah:
// Row Rendered event function Row_Rendered() { // To view properties of field class, use: //var_dump($this-><FieldName>); $this->Detail2->ViewValue = $this->Detail2->ViewValue . " - " . $GLOBALS['master']->Master1->CurrentValue; }
Dari kode di atas, maka perhatikan bagian kode yang ini:
$GLOBALS['master']->Master1->CurrentValue
Nah, dari kode itulah diambil nilai field Master1 milik tabel Master.
Mudah sekali, bukan? 🙂
firman edi utomo mengatakan
mas mau tanya saya buat master detail menggunakan phpmaker 10 . tapi kadang2x ada data yang gak muncul contohnya:
saya cari nik kemudian muncul nik yang saya cari pas saya klik master detail data master detail pada nik tsb tidak ada kalau saya add ulang kemudian saya klik save status save nya sukses tapi tetep gak keluar di data master detail nya, tapi kalau saya lihat di data base muncul semua ?? ada solusi gak mas
Masino Sinaga mengatakan
Coba upgrade ke PHPMaker 11 mas. Saya sudah gak pakai yang versi 10 lagi, jadi gak konsen di sana, hehe… 😉
firman edi utomo mengatakan
di phpmaker 11 gak pernah menemui kayak gitu ya mas .. terus kalau migrasi gimn mas apa bisa file save dari php maker 10 di open di phpmaker 11 .
Masino Sinaga mengatakan
File project PHPMaker yang dibuat di versi terdahulu akan otomatis diupgrade saat dibuka di versi terakhir.
hendra mengatakan
Bagaimana untuk membaca record dari table detil yang sedang diinput.
Misal saat user input 3 record di transaksi detil, yaitu BUKU, PENGGARIS , TAS.
Bagaimana membaca record yang sedang diinput tersebut ?
Masino Sinaga mengatakan
Ya tinggal dibaca saja, hehehe… 🙂
Gunakan server event Row_Inserting milik table detaail, jika yang dimaksud adalah untuk memvalidasi ketiga Record tersebut sebelum disimpan ke Database.
Atau bisa juga menggunakan server event Grid_Inserting. Silahkan baca menu Help PHPMaker untuk info dan contoh lebih lanjut!
hendra mengatakan
ok ..trm ksh..sudah terbaca 🙂
Masino Sinaga mengatakan
Sama-sama.