Masino Sinaga

Web Development and PHPMaker

Anda di sini: Beranda / PHPMaker / Mudahnya Membatasi Jumlah Record di Halaman Detail Preview dari PHPMaker
Mudahnya Menghitung Nilai dari Label CheckBox yang Tercentang di PHPMaker
Demo PHPMaker, PHP Report Maker, dan Masino Extensions Kini Sudah Tersedia!

Mudahnya Membatasi Jumlah Record di Halaman Detail Preview dari PHPMaker

Rab, 23 November 2016 oleh Masino Sinaga 9 Komentar

Jika Anda menggunakan extension Preview atau MasinoPreviewRow13 di project PHPMaker, maka Pengguna Akhir Aplikasi Web dapat melihat record Detail dengan cara mengklik tanda plus (+) di samping record Master-nya. Selanjutnya record Detail akan ditampilkan di bagian bawah record Master tadi menggunakan AJAX, tanpa memuat ulang halaman tersebut. Fitur ini di PHPMaker disebut dengan Detail Preview Row.

Selain dengan cara tadi, record Detail juga dapat ditampilkan dengan cara menggeser kursor mouse ke atas tombol Detail. Selanjutnya sistem akan menampilkan record Detail di jendela kecil yang muncul secara PopUp, juga masih menggunakan AJAX. Fitur yang kedua ini disebut dengan Detail Preview Overlay.

Kedua fitur Detail Preview Row dan Detail Preview Overlay tadi cocok digunakan jika jumlah record Detail tidak terlalu banyak. Misalkan hanya sekitar 5 atau 10 record. Jika jumlah record Detail sudah relatif banyak, katakanlah di atas 20, 50, 100, atau lebih dari itu, maka area tempat menampilkan record Detail tadi menjadi sangat panjang ke bawah. Hal ini terjadi, karena di area Detail Preview tadi tidak menggunakan Paging untuk membagi record ke dalam beberapa halaman.

Sering kali Web Developer dituntut untuk dapat membatasi maksimal jumlah record Detail yang akan ditampilkan di Detail Preview Row dan Detail Preview Overlay tersebut. Pertanyaannya adalah, bagaimana caranya? Sementara yang kita ketahui, tidak ada Property di PHPMaker yang disediakan untuk menentukan jumlah maksimal record yang bisa ditampilkan di kedua area tadi.

Hehe, bukan PHPMaker namanya jika kita tidak dapat mengatasi hal tersebut. Lagi-lagi dalam hal ini kita dapat menggunakan fitur Server Events. Katakanlah kita ingin membatasi hanya 5 record saja yang ditampilkan di area Detail Preview tadi. Cukup dengan menambahkan sedikit kode PHP saja ke dalam server event Row_Rendered, sehingga kode selengkapnya menjadi seperti ini:

// Row Rendered event
function Row_Rendered() {
	// To view properties of field class, use:
	//var_dump($this-><FieldName>); 
	if (CurrentPageID() == "preview" && $this->RowCnt > 5) {
		$this->RowAttrs["style"] = "display: none";
	}
}

Kita menggunakan server event Row_Rendered, karena dieksekusi oleh sistem ketika table sedang dirender ke browser. Dari kode di atas, kita harus memastikan bahwa kode tersebut hanya untuk halaman Detail Preview saja, dengan menggunakan fungsi global CurrentPageID(). Nilai yang dikembalikan fungsi ini harus sama dengan preview.

Untuk membatasi jumlah record, maka kita mengoptimalkan Property RowCnt milik object Page atau Table. Jika jumlahnya lebih besar dari 5, maka cukup set Property RowAttrs milik object Page atau Table yang bernama style. Caranya, dengan menugaskan kode CSS untuk menghilangkan tampilan di baris record tersebut yaitu display: none;.

Tentu saja kode di atas belum dapat mengubah informasi jumlah record Detail yang sebenarnya. Nah, supaya Pengguna tidak bingung karena jumlah record yang ditampilkan tidak sama dengan informasi jumlah record yang sebenarnya, kita bisa mengakali dengan menambahkan informasi di bagian bawah dari table Detail tadi menggunakan server event Page_DataRendered yang terdapat di bawah lokasi Server Events -> Table-Specific -> Preview Page, sehingga kode selengkapnya menjadi seperti ini:

// Page Data Rendered event
function Page_DataRendered(&$footer) {
	// Example:
	$footer = "Only 5 records are displayed at the moment ...";
}

Dengan cara ini, jika jumlah record Detail yang sebenarnya lebih dari 5, maka Pengguna dapat memaklumi bahwa yang ditampilkan di area tersebut maksimal hanya 5 record saja.

See? Betapa mudah, cepat, dan menyenangkan sekali membangun Aplikasi Web dengan menggunakan PHPMaker, bukan? Tidak perlu menulis kode dari titik nol. Kita hanya cukup menambahkan sedikit kode saja pada server event yang terkait. Selebihnya akan diselesaikan oleh PHPMaker.

Bagi Anda yang belum menggunakan PHPMaker, bisakah metode pengembangan Aplikasi Web yang Anda gunakan saat ini seperti yang terdapat di PHPMaker tersebut? 😉

Artikel ini saya perbarui pada hari Selasa, 23 Juli 2019, setelah menjawab salah satu komentar yang menanyakan paging di area DetailPreviewRow dan DetailPreviewOverlay. Perubahan yang terjadi di PHPMaker versi 2019, sekarang extension Preview (bawaan asli PHPMaker 2019) maupun MasinoPreview15 (salah satu dari Masino Extensions yang bisa Anda download dari ILovePHPMaker.com) sudah mendukung pemakaian Paging.

Ada satu pengaturan baru yang bernama PageSize yang bisa diatur dari menu pengaturan extension bertalian. Lokasinya berada di bawah Advanced -> Table. Dengan adanya pengaturan baru ini, maka kode di atas tidak perlu lagi kita gunakan.

Perubahan ini lagi-lagi membuktikan bahwa PHPMaker selalu diperbarui di setiap versi major-nya dengan menambahkan fitur yang sering dibutuhkan oleh Web Developer. Fitur ini semakin membuat PHPMaker menjadi tools yang begitu powerful sekaligus flexible untuk membangun Aplikasi Web.

Ditempatkan di bawah: PHPMaker Ditag dengan:Belajar PHPMaker, Masino Extensions, Page_DataRendered, PHPMaker Indonesia, Preview Overlay, Preview Row, Row_Rendered, Server Events, Tutorial PHPMaker

Masino Sinaga

Web Developer pengguna PHPMaker untuk membangun Aplikasi Web sejak tahun 2004. Sampai sekarang masih aktif dan rajin membagikan pengalamannya menggunakan PHPMaker melalui situs masinosinaga.com dan ilovephpmaker.com.

Mudahnya Menghitung Nilai dari Label CheckBox yang Tercentang di PHPMaker
Demo PHPMaker, PHP Report Maker, dan Masino Extensions Kini Sudah Tersedia!

Komentar

  1. Sukri mengatakan

    Rab, 21 Desember 2016 pada 4:58 pm

    Bagaimana Cara mengatur Urutan tampilan Judul Kolom sebuah tabel ?

    Balas
    • Masino Sinaga mengatakan

      Kam, 22 Desember 2016 pada 9:38 am

      Drag and drop field ke urutan atas atau bawah yang Anda inginkan dari Field Setup.

      Balas
      • Sukri mengatakan

        Kam, 22 Desember 2016 pada 10:56 am

        Terima Kasih,

        Balas
  2. Mrinal Kumar mengatakan

    Kam, 22 Desember 2016 pada 1:15 pm

    Sir, I have Problem in PHP stock inventory please Help me. I want to add my shop name at the top of print page . either in pdf and html etc.
    Please help me where i should add the code.

    Balas
    • Masino Sinaga mengatakan

      Kam, 22 Desember 2016 pada 6:24 pm

      Sorry Kumar, there is no support provided for that open-source, unless you subscribe as the member at ilovephpmaker.com in order to download the related PHPMaker project file.

      Balas
  3. yayan mengatakan

    Sen, 22 Juli 2019 pada 10:48 pm

    dari tema diatas, kalo ingin ada paging nya misal tiap 10 row karena detail previewnya bisa hampir 1000 record. bagaimana melakukannya bang ? terimakasih

    Balas
    • Masino Sinaga mengatakan

      Sel, 23 Juli 2019 pada 9:02 am

      Di extension MasinoPreview15 atau Preview (bawaan asli PHPMaker 2019), sekarang sudah ada fitur untuk menentukan jumlah maksimal record dalam satu halaman. Artinya, DetailPreviewRow dan DetailPreviewOverlay sekarang mendukung pemakaian paging. Ada satu pengaturan yang bernama PageSize yang bisa dilihat dari setting extension yang bertalian di bawah lokasi ini: Advanced -> Table.

      Balas
      • yayan mengatakan

        Sel, 23 Juli 2019 pada 10:33 pm

        thanks bang. iya ada , seperti yang dimaksud. he he he

        Balas
        • Masino Sinaga mengatakan

          Sen, 29 Juli 2019 pada 6:32 pm

          Sama-sama. 🙂

          Balas

Tinggalkan Balasan Batalkan balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses.

Pos-pos Terbaru

  • Begini Mudahnya Mengubah Lebar Modal Dialog di PHPMaker 2022
  • Item Menu Tetap Aktif Meskipun Sedang Menampilkan Halaman Tambah, Ubah, Tampilkan, Cari di PHPMaker 2022
  • Hati-Hati Memilih Versi PHP Sebelum Generate Code di PHPMaker 2022
  • Alasan AlwaysUseEnglishUSLocale Sebaiknya Aktif di Masino Extensions untuk PHPMaker 2022
  • MasinoInputMask18 Extension, Autoformat Angka dengan Fitur Lebih Kaya di PHPMaker 2022

Menu

  • Siapa Saya?
  • Web Development
  • PHPMaker
  • Umum
  • Syarat dan Ketentuan
  • Sitemap (Peta Situs)
  • Komentar

Komentar Terbaru

  • Masino Sinaga pada Project Stock Inventory untuk PHPMaker 2022 Sekarang Sudah Bisa Didownload
  • Stanislaus Ariyanto pada Project Stock Inventory untuk PHPMaker 2022 Sekarang Sudah Bisa Didownload
  • Masino Sinaga pada Mudahnya Mendapatkan Info Pengguna Setelah Login di Aplikasi Web dari PHPMaker
  • irwan pada Mudahnya Mendapatkan Info Pengguna Setelah Login di Aplikasi Web dari PHPMaker
  • Masino Sinaga pada Ini Dia Fitur-Fitur yang Terdapat di Masino Extensions untuk PHPMaker 2022

Situs Terkait

  1. I Love PHPMaker
  2. Situs Resmi PHPMaker
  3. Forum Diskusi PHPMaker
  4. PHPMaker di IlmuKomputer.com
  5. PHPMaker Learning

Baru di PHPMaker?

Baca ini terlebih dulu ...

  1. Ayo Menjadi Web Developer yang Cerdas!
  2. PHPMaker: PHP Code Generator + PHP Framework
  3. Pertanyaan-Pertanyaan yang Paling Sering Diajukan Seputar PHPMaker
  4. Tips buat Anda Pemula yang Baru Mengenal dan Menggunakan PHPMaker
  5. Bacalah Help, Bacalah Help, dan Bacalah Help di PHPMaker!

(c) Masino Sinaga 2009 - 2021 | WordPress | Catat masuk | Kembali ke atas