Quantcast
Channel: Masino Sinaga
Viewing all articles
Browse latest Browse all 169

Menyembunyikan Field di Table Detail pada Halaman Master/Detail dari PHPMaker

$
0
0

Seperti yang kita ketahui, PHPMaker memiliki kemampuan untuk menampilkan data dari table Master dan data dari table Detail dalam satu halaman. Hal ini dikenal dengan istilah Master/Detail List di PHPMaker.

Ketika data Master dan Detail ditampilkan dalam satu halaman, sebenarnya yang ditampilkan saat itu adalah halaman List milik table Detail. Hanya saja, di bagian atas dari halaman List milik table Detail tadi, ditampilkan juga record dari table Master. Di sinilah cerdiknya PHPMaker mengoptimalkan object Master di halaman List milik table Detail.

Biasanya, field yang memiliki relasi antara table Master dan Detail sama-sama diikutsertakan di kedua bagian tersebut. Supaya lebih mudah dipahami, mari ambil contoh table Master orders, dan table Detail orderdetails. Baik di bagian Master maupun Detail, sama-sama menampilkan field OrderID.

Karena field OrderID ini sudah pasti nilainya sama di kedua bagian tadi, maka alangkah baiknya jika field tersebut disembunyikan pada halaman Master/Detail List tadi. Tapi, jika halaman orderdetailslist.php tadi ditampilkan tanpa menyertakan record Master-nya, maka field OrderID tersebut harus tetap ditampilkan.

Ingin tahu caranya? Cukup tambahkan kode PHP berikut ke dalam server event Page_Load yang terdapat di bawah Server Events -> Table-Specific -> List Page milik table orderdetails, sehingga kode selengkapnya menjadi seperti ini:

// Page Load event
function Page_Load() {
	//echo "Page Load";
	if (isset($_GET[EW_TABLE_SHOW_MASTER]) == "orders") {
		$this->OrderID->Visible = FALSE;
	}	
}

Sampai di sini kita sudah berhasil menghilangkan field OrderID di bagian table Detail.

Pertanyaan selanjutnya, bagaimana seandainya kita juga ingin menghilangkan field OrderID ini dari bagian table Master?

Cukup tambahkan kode PHP dan jQuery berikut ke dalam Startup Script yang terdapat di lokasi Client Scripts -> Table-Specific -> List Page milik table orderdetails:

<?php if (isset($_GET[EW_TABLE_SHOW_MASTER]) == "orders") { ?>
$(document).ready(function() {
	$("#r_OrderID").hide();
});
<?php } ?>

Perhatikanlah bahwa kita dapat meng-embed kode PHP ke dalam kode jQuery pada bagian Startup Script tadi. Demikian fleksibelnya PHPMaker menyediakan kerangka kerja yang dapat dioptimalkan oleh Web Developer untuk membangun Aplikasi Web dengan cepat, mudah, dan menyenangkan.


Viewing all articles
Browse latest Browse all 169

Trending Articles