Masino Sinaga

Web Development, PHPMaker, & PHP Report Maker

Anda di sini: Beranda / PHPMaker / Mudahnya Mengubah Link Edit di Halaman Master/Detail View Aplikasi Web dari PHPMaker
Mudahnya Mengolah Nilai Balikan Stored Procedure di Aplikasi Web dari PHPMaker
Mudahnya Mengubah Link Hapus di Halaman View Aplikasi Web dari PHPMaker

Mudahnya Mengubah Link Edit di Halaman Master/Detail View Aplikasi Web dari PHPMaker

Maret 16, 2015 oleh Masino Sinaga 10 Komentar

PHPMaker ternyata cukup cerdik dalam memanfaatkan sebuah halaman yang dibangkitkan olehnya. Contoh, halaman View yang awalnya dibuat untuk menampilkan sebuah Record dalam satu halaman, bisa digunakan juga untuk menampilkan data Master dan Detail sekaligus, atau lebih dikenal dengan istilah Master/Detail View. Di bagian atas data Master dalam layout View, dan di bagian bawah data Detail dalam layout tabel.

Di halaman Master/Detail View ini juga bisa terdapat beberapa link atau tombol yang berfungsi untuk membuka halaman Add, Edit, dan Delete. Di sinilah timbul tantangan yang cukup mengasyikkan bagi Web Developer yang menggunakan PHPMaker. Tantangan itu adalah, bagaimana caranya kita dapat membuat dua kondisi yang berbeda dalam satu halaman View tersebut, tanpa harus melakukan usaha yang terlalu banyak. Masih bingung?

Contoh kasusnya seperti ini. Sering kali kita sebagai Web Developer harus menyesuaikan link Edit di halaman Master/Detail View (menampilkan Record Master di atas dan Detail di bawahnya), sedangkan di halaman View (menampilkan satu Record Master), link Edit tetap menggunakan yang aslinya. Masih bingung juga?

Mari kita ambil contoh kasus sederhana menggunakan project demo. Katakanlah di halaman Master/Detail View yang menampilkan data orders di bagian atas dan data orderdetails di bagian bawah, kita ingin mengubah link Edit, sedangkan jika halaman View yang hanya menampilkan data orders saja, maka link Edit menggunakan link aslinya (tidak diubah). Sudah mulai ada gambaran?

Nah, mengimplementasikan hal tersebut, maka kita cukup menaruh kode PHP berikut ke dalam server event Page_Render yang terdapat di bawah lokasi Server Events -> Table-Specific -> View Page, sehingga kode selengkapnya menjadi seperti ini:

// Page Render event
function Page_Render() {
	//echo "Page Render";
	if ($this->getCurrentDetailTable() <> "") {
		$options = &$this->OtherOptions;
		$option = &$options["action"];
		$item = &$option->Add("edit");
		$item->Body = '<a class="btn btn-default ewAction ewEdit" title="'.Language()->Phrase("Edit").'" data-caption="'.Language()->Phrase("Edit").'" href="yourpage.php"><span data-phrase="ViewPageEditLink" class="icon-edit ewIcon" data-caption="'.Language()->Phrase("Edit").'"></span></a>'; // sesuaikan yourpage.php
	}
}

Mari simak kode barusan. Untuk memastikan halaman View tersebut adalah Master/Detail View, maka kita cukup menggunakan method getCurrentDetailTable milik object Table atau Page dari halaman View, dan jika hasilnya mengembalikan String yang tidak kosong, maka eksekusi kode untuk mengubah link Edit tersebut.

Seperti kode PHP di beberapa artikel saya sebelum ini, kode di atas memiliki persamaan, yaitu untuk menyesuaikan link Edit, maka kita mengoptimalkan object OtherOptions yang di dalamnya memiliki pilihan action dan nama item-nya adalah edit.

Sedangkan untuk mengubah link Edit, maka kita cukup menyesuaikan nilai dari property Body milik item edit tadi.

Betapa mudah dan cepatnya, bukan? 😀

Ditempatkan di bawah: PHPMaker Ditag dengan:Master/Detail, Master/Detail View, Page_Render, PHPMaker Indonesia, 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 Mengolah Nilai Balikan Stored Procedure di Aplikasi Web dari PHPMaker
Mudahnya Mengubah Link Hapus di Halaman View Aplikasi Web dari PHPMaker

Comments

  1. ameisfine mengatakan

    Oktober 27, 2017 pada 12:26 pm

    Pak Masino, artikel ini hampir menjawab kasus saya. Tapi saya ingin memanipulasi tombol Master/Detail Copy supaya menjalankan aksinya seperti biasa yaitu meng-copy record tapi berpindah ke table yang lain.

    Jelasnya:
    Master/Detail dari Proforma Invoice yg terpilih -> dicopy ke table Master/Detail Real Invoice dengan otomatis diberi nomer invoice baru.

    Atas bantuannya terimakasih

    Balas
    • Masino Sinaga mengatakan

      Oktober 28, 2017 pada 10:20 am

      Sudah saya jawab di topik diskusi ini: Copy Master Detail to another table.

      Balas
      • ameisfine mengatakan

        Oktober 28, 2017 pada 2:24 pm

        Ooohhh makasih pak, saya lanjut disana aja kalo gitu 🙂

        Balas
        • Masino Sinaga mengatakan

          Oktober 30, 2017 pada 3:06 pm

          Oke, sama-sama.

          Balas
      • ameisfine mengatakan

        November 3, 2017 pada 2:22 pm

        Untuk kasus saya, coba solusi ini sy pasang di Add > Startup Script. Tapi panggil function itu kok tidak jalan ya pak? syntaxnya gmn ya? thx

        $(“input[name=’x_Is_Proforma’]”).change(function() { // Assume Field1 is a text input
        if (this.value == “Y”) {
        $(this).fields(“Sales_Number”).value(” “); // Set value to FieldA
        } else if (this.value == “N”){
        var next = GetNextSalesNumber();
        $(“#x_Sales_Number”).val(next);
        }
        });

        Balas
        • Masino Sinaga mengatakan

          November 4, 2017 pada 2:01 pm

          Lalu apa kaitannya dengan artikel di atas?

          Balas
  2. dani mengatakan

    Oktober 28, 2017 pada 12:41 am

    Saya mencari di help dan gugel, tapi belum ketemu. Mohon idenya pak, bagaimana agar seorang karyawan bisa mengedit data yg dia masukkan, tapi data itu baru terupdate setelah di ok atau di approve oleh atasannya.
    Trims pak

    Balas
    • Masino Sinaga mengatakan

      Oktober 28, 2017 pada 10:21 am

      Sudah saya jawab juga di topik diskusi ini: Employee could update data after approved by their boss.

      Balas
      • dani mengatakan

        Oktober 28, 2017 pada 10:53 am

        lho, mobhar itu rupanya pak masino ya? matur nuwun pak ilmunya,hehehe

        Balas
        • Masino Sinaga mengatakan

          Oktober 28, 2017 pada 1:59 pm

          Lho, baru tau ya? Kemana aja selama ini? Hehehe… 🙂

          Balas

Tinggalkan Balasan Batalkan balasan

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Pos-pos Terbaru

  • Server Event Page_Render dan Page_Rendering di PHPMaker, Apa Sih Bedanya?
  • Begini Mudahnya Mengubah Judul Browser Secara Dinamis di PHPMaker 2021
  • Solusi Supaya PreviewRow dan PreviewOverlay Bisa Sama-Sama Berfungsi di PHPMaker 2021
  • Jangan Pernah Lagi Mencampur Kode PHP di Client Script atau Startup Script pada PHPMaker 2021
  • Seperti Ini Mudahnya Menyembunyikan Data Label di Chart dari PHPMaker 2021

Menu

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

Komentar Terbaru

  • Masino Sinaga pada Setting Import Data Berikut Wajib Anda Ketahui Bedanya di PHPMaker 2021
  • Masino Sinaga pada Jangan Pernah Lagi Mencampur Kode PHP di Client Script atau Startup Script pada PHPMaker 2021
  • Masino Sinaga pada Mudahnya Menambahkan Global Function untuk Auto-Update Field di PHPMaker
  • Abu Syifa pada Setting Import Data Berikut Wajib Anda Ketahui Bedanya di PHPMaker 2021
  • Abu Syifa pada Jangan Pernah Lagi Mencampur Kode PHP di Client Script atau Startup Script pada PHPMaker 2021

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 - 2019 | WordPress | Catat masuk | Kembali ke atas