Masino Sinaga

Web Development and PHPMaker

Anda di sini: Beranda / PHPMaker / Mudahnya Mengubah Data yang Diekspor di Aplikasi Web dari PHPMaker 2022
Mudahnya Membuat Form Layout 2 Kolom dari PHPMaker 2022
Begini Mudahnya Mengubah Lebar Modal Dialog di PHPMaker 2022

Mudahnya Mengubah Data yang Diekspor di Aplikasi Web dari PHPMaker 2022

Ming, 21 Agustus 2022 oleh Masino Sinaga Tinggalkan Komentar

Ada pertanyaan yang cukup bagus mengenai bagaimana cara mengubah data yang diekspor jika lebih dari satu kolom. Ternyata pertanyaan tersebut ditujukan pada artikel yang saya tulis sekitar delapan tahun yang lalu. Wow!

Artikel itu saya buat berdasarkan dokumentasi yang disediakan oleh PHPMaker. Memang contoh pada dokumentasi tersebut hanya untuk satu kolom saja.

Untuk membuktikan betapa mudahnya mengubah data yang diekspor jika lebih dari satu kolom pada PHPMaker 2022, maka artikel ini saya buat.

Jawabannya cukup dengan menggunakan 3 server event saja, yaitu Page_Exporting, Row_Export, dan Page_Exported. Pada contoh di atas, penekanannya baru pada server event pertama dan kedua saja.

Katakanlah kita ingin menyesuaikan tampilan data yang diekspor ke file Excel pada table orders di halaman List pada project demo2022. Seperti yang kita ketahui, ada 4 kolom yang ditampilkan di halaman List tersebut, yaitu: OrderID, CustomerID, EmployeeID, dan OrderDate.

Dalam hal ini kita hanya ingin menampilkan 3 kolom pertama saja pada data yang diekspor ke file Excel. Bagaimana caranya?

Langkah Pertama, sisipkan kode berikut ke dalam server event Page_Exporting di atas baris return true:

    if ($this->Export == "excel") {
       	$this->ExportDoc->Text .= "<table class='ew-table'><tr><td style='width:100px; text-align:center'>Order ID</td><td style='width:300px'>Customer</td><td style='width:200px'>Employee</td></tr>";
		return false;
	}

Kode tersebut artinya kita menampilkan judul kolom data yang akan diekspor ke Excel. Perhatikanlah bahwa kita harus menggunakan format table dengan class ew-table. Ada tiga kolom yang kita gunakan, masing-masing memiliki lebar 100px, 300px, dan 200px.

Pastikan juga di server event Page_Exporting tadi, kita mengembalikan nilai false, agar sistem mengeksekusi kode pada server event Row_Export berikutnya. Jika tidak, maka kode pada server event Row_Export tidak akan pernah dieksekusi.

Langkah Kedua, sisipkan kode berikut ke dalam server event Row_Export:

    if ($this->Export == "excel")
        $this->ExportDoc->Text .= "<tr><td style='text-align:center'>" . $rs["OrderID"] . "</td><td>" . $this->CustomerID->ViewValue . "</td><td>" . $this->EmployeeID->ViewValue . "</td></tr>";

Kode di server event Row_Export ini artinya kita mengubah data yang ditampilkan di setiap baris. Perhatikanlah bahwa di sana kita menggunakan param $rs jika ingin menampilkan data asli di suatu kolom. Sedangkan jika kita ingin menampilkan data yang sudah diformat, maka cukup gunakan property ViewValue milik object field yang bertalian.

Perhatikan juga bahwa untuk memisahkan data antar kolom, kita menggunakan tag td atau kolom di table. Sama halnya yang kita lakukan pada server event Page_Exporting untuk menampilkan header dari setiap kolom.

Dan langkah yang terakhir atau ketiga, sisipkan kode berikut ke dalam server event Page_Exported:

    if ($this->Export == "excel")
       	$this->ExportDoc->Text .= "</table>";

Kode pada server event Page_Exported ini berfungsi untuk menutup tag table yang sebelumnya kita buka pada server event Page_Exporting. Pastikan kita tidak lupa dengan kode ini, agar data yang diekspor ke file Excel berhasil dilakukan sebagaimana mestinya.

Hanya dengan sedikit kode PHP itu saja, kita sudah dapat menyesuaikan data yang akan diekspor ke file Excel. Setelah itu, pastikan untuk men-generate ulang semua file script menggunakan aplikasi PHPMaker 2022 seperti biasa.

Untuk memastikan kode yang Anda tambahkan sudah benar pada ketiga server event di atas tadi, maka berikut ini kode selengkapnya:

// Page Exporting event
// $this->ExportDoc = export document object
function Page_Exporting()
{
    //$this->ExportDoc->Text = "my header"; // Export header
    //return false; // Return false to skip default export and use Row_Export event

    if ($this->Export == "excel") {
       	$this->ExportDoc->Text .= "<table class='ew-table'><tr><td style='width:100px; text-align:center'>Order ID</td><td style='width:300px'>Customer</td><td style='width:200px'>Employee</td></tr>";
		return false;
	}

    return true; // Return true to use default export and skip Row_Export event
}

// Row Export event
// $this->ExportDoc = export document object
function Row_Export($rs)
{
    //$this->ExportDoc->Text .= "my content"; // Build HTML with field value: $rs["MyField"] or $this->MyField->ViewValue
    if ($this->Export == "excel")
        $this->ExportDoc->Text .= "<tr><td style='text-align:center'>" . $rs["OrderID"] . "</td><td>" . $this->CustomerID->ViewValue . "</td><td>" . $this->EmployeeID->ViewValue . "</td></tr>";
}

// Page Exported event
// $this->ExportDoc = export document object
function Page_Exported()
{
    //$this->ExportDoc->Text .= "my footer"; // Export footer
    //Log($this->ExportDoc->Text);
    if ($this->Export == "excel")
       	$this->ExportDoc->Text .= "</table>";
}

PHPMaker memang keren!

Ditempatkan di bawah: PHPMaker Ditag dengan:Belajar PHPMaker, Page_Exported, Page_Exporting, PHPMaker 2022, PHPMaker Indonesia, Row_Export, 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, ilovephpmaker.com, dan phpmakerprojects.com.

Mudahnya Membuat Form Layout 2 Kolom dari PHPMaker 2022
Begini Mudahnya Mengubah Lebar Modal Dialog di PHPMaker 2022

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

  • Masino Extensions untuk PHPMaker 2024 Sudah Dirilis, Silahkan Download!
  • Fitur-Fitur Masino Extensions untuk PHPMaker 2024
  • Review PHPMaker 2024
  • Mudahnya Mengunci Record dengan Javascript Count Down di PHPMaker 2023
  • Ini Alasan Kenapa Kalian Harus Beralih ke PHP 8

Menu

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

Komentar Terbaru

  • Masino Extensions untuk PHPMaker 2024 Sudah Dirilis, Silahkan Download! – Masino Sinaga pada Fitur-Fitur Masino Extensions untuk PHPMaker 2024
  • Fitur-Fitur Masino Extensions untuk PHPMaker 2024 – Masino Sinaga pada Custom Domain URL di Masino Extensions untuk PHPMaker 2020
  • Fitur-Fitur Masino Extensions untuk PHPMaker 2024 – Masino Sinaga pada Membatasi Akses Versi Live dan Versi Development Aplikasi Web dari PHPMaker
  • Fitur-Fitur Masino Extensions untuk PHPMaker 2024 – Masino Sinaga pada Nomor Urut Record di Export Data pada PHPMaker 2020 dan PHPMaker 2021
  • Masino Sinaga pada Review PHPMaker 2024

Situs Terkait

  1. I Love PHPMaker
  2. Situs Resmi PHPMaker
  3. Forum Diskusi PHPMaker
  4. PHPMaker di IlmuKomputer.com
  5. PHPMaker Projects
  6. 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 - 2023 | WordPress | Catat masuk | Kembali ke atas