Masino Sinaga

A Web Developer Who Helps Web Developers

Anda di sini: Beranda / PHPMaker / Mudahnya Menyembunyikan Tombol Master/Detail di Detail Preview dari PHPMaker
Mudahnya Menyembunyikan Item Details di Record Master dari PHPMaker
Mudahnya Menyembunyikan Tombol Master/Detail di Halaman Master dari PHPMaker

Mudahnya Menyembunyikan Tombol Master/Detail di Detail Preview dari PHPMaker

Sab, 22 November 2014 oleh Masino Sinaga 7 Komentar

Kalau di artikel sebelumnya kita sudah membahas bagaimana mudahnya kita sebagai Web Developer menyembunyikan tombol Master/Detail yang terdapat di halaman List dari Record Master, maka di artikel ini kita akan membahas bagaimana mudahnya menyembunyikan beberapa tombol yang terkait dengan fungsi pengelolaan data Master/Detail di bagian Detail Preview Row.

Jika Anda mengaktifkan pengaturan Master/Detail Add (as Detail), Master/Detail Edit (as Detail), dan Master/Detail View (as Detail) di pengaturan level Table pada tabel Detail yang memiliki relasi Master/Detail, maka ketika Pengguna menampilkan area Detail Preview Row dengan mengklik icon plus (+), ketiga tombol yang mewakili masing-masing fungsi di atas (Add, Edit, dan View) akan muncul di bagian bawah dari tabel Detail tadi.

Katakanlah tabel Detail yang kita maksud dalam hal ini adalah orderdetails dan memiliki relasi Master/Detail dengan tabel orders sebagai Master-nya.

Kita ingin menyembunyikan ketiga tombol di atas tadi. Sebagai Web Developer, Anda dapat melakukannya dengan sangat mudah dan cepat. Cukup dengan menaruh kode berikut ke dalam server event Page_Render yang terdapat di bawah Server Events -> Table-Specific -> List Page milik tabel Master yang bertalian:

	$GLOBALS["orderdetails_grid"]->DetailAdd = FALSE;
	$GLOBALS["orderdetails_grid"]->DetailEdit = FALSE;
	$GLOBALS["orderdetails_grid"]->DetailView = FALSE;

Lagi-lagi PHPMaker sudah menyediakan konsep yang sangat rapi dan terstruktur. Dari kode barusan, kita dapat mengambil kesimpulan bahwa PHPMaker menyediakan sebuah variabel global yang memiliki format nama <nama_table_detail>_grid. Variabel global ini juga sebagai object dari Detail Preview Row yang dapat dilihat dari halaman List milik Record Master.

Karena nama tabel Detail-nya adalah orderdetails, maka nama variabel global tadi menjadi orderdetails_grid. Object dari Detail Preview Row ini masing-masing memiliki property DetailAdd, DetailEdit, dan DetailView. Jadi, untuk menyembunyikannya, kita cukup mengeset property ini dengan nilai FALSE.

Wow, lagi-lagi, betapa mudah, cepat, dan menyenangkannya memakai PHPMaker untuk membangun Aplikasi Web, bukan? 😀

Ditempatkan di bawah: PHPMaker Ditag dengan:DetailAdd, DetailEdit, DetailView, global variable, Master/Detail, Page_Render, PHPMaker Indonesia, Server Events, Tutorial PHPMaker, variabel global

Mudahnya Menyembunyikan Item Details di Record Master dari PHPMaker
Mudahnya Menyembunyikan Tombol Master/Detail di Halaman Master dari PHPMaker

Komentar

  1. Dendi mengatakan

    Rab, 23 Juli 2025 pada 11:51 pm

    Malam Pak Masino
    Pak saya ingin menyembunyikan master/detil edit yang ada di kolom paling kanan. Saya ingin hanya record paling bawah atau max record yang ada master/detil edit. tapi saya sudah gogling mencari kesana kemari gak ada yang berhasil kecuali Jquery $(‘.ewDetailEdit’).hide();. masalahnya kalau pakai Jquery kesusahan naruh scriptnya di pake render atau listoption_rendered. biar bisa atur di baris mana aja di list page yang boleh ada master/detil edit nya. cara di atas pun tak berhasil. saya masih pakai PHPMAKER 2018.

    Apakah bisa menyembunyikan master/detil edit di listpage dengan kriteria di row seperti yang saya tulist di atas? saya nemu artikel Pak masino menyembunyikan itu pakai:

    Container("OrderdetailsGrid")->DetailEdit = false;  // gagal di saya gak ilang tombolnya.
    $GLOBALS["orderdetails_grid"]->DetailEdit = FALSE; //gagal di saya gak ilang tombolnya.
    $this->ListOptions->Items["details"]->Visible = FALSE; //gagal juga
    $GLOBALS["gray_requisition_details_grid"]->DetailView = FALSE; //gagal
    $this->OtherOptions['addedit'] = new cListOptions();
    $this->OtherOptions['addedit']->Body = ""; //gagal
    
    Reply
    • Masino Sinaga mengatakan

      Kam, 24 Juli 2025 pada 12:02 pm

      Halo Deni,

      1. Pakai PHPMaker versi berapa?
      2. Ini case-nya untuk contoh table Orders dan Order Details di demo project kan ya?
      3. Ingin menyembunyikan tombol/link Master/Detail Edit hanya untuk baris tertentu saja kan ya? Bukan keseluruhan data di Orders nya? Jika ya, maka bisa pakai server event ListOptions_Rendering milik table Master-nya.

      Reply
      • Dendi mengatakan

        Kam, 24 Juli 2025 pada 1:29 pm

        iya pak pakai PHPMAKER 2018.0.6
        iya untuk di order dan order detail
        iya untuk baris tertentu menghilangkan tombol Master/Detail Edit
        aku dah coba naruh script-script itu di list page->page load gagal
        trus naruh di ListOptions_Rendering juga gagal
        ListOptions_Rendered juga gagal.
        contoh aku taruh di listpage-> ListOptions_Rendering
        $GLOBALS[“orderdetails_grid”]->DetailEdit = FALSE;
        hasilnya :
        Warning: Creating default object from empty value in C:\xampp\htdocs\masteroffice\daftar_kirimanlist.php on line 2559
        dan tombol Master/Detail Edit juga gak hilang.
        aku coba satu persatu script tersebut tak satupun yang bisa ngilangin.
        taruh di ListOptions_Rendered sama.. page_load sama gak ilang
        apa ada cara lain ya pak? biar bisa ngilangi Master/Detail Edit sesuai kriteria baris row nya?

        Reply
        • Masino Sinaga mengatakan

          Kam, 24 Juli 2025 pada 1:36 pm

          Wah, versi 2018 sudah sangat lama. Sebaiknya selalu usahakan untuk pakai versi terakhir, hari ini sudah versi 2025.

          Barusan saya test kode ini di server event ListOptions_Rendering milik table Orders, dan berhasil menyembunyikan tombol Master/Detail Edit untuk data order dengan OrderID = 11076:

          if ($this->OrderID->CurrentValue == "11076") {
          	Container("OrderdetailsGrid")->DetailEdit = false;
          } else {
          	Container("OrderdetailsGrid")->DetailEdit = true;
          }
          
          Reply
          • Dendi mengatakan

            Kam, 24 Juli 2025 pada 1:49 pm

            Iya pak pakai versi 2018,
            apakah memang versi selain 2025 atau versi tertentu saja yang bisa ya pak?
            untuk ngilangin master/detail edit.?

            terima kasih pak

            Reply
            • Masino Sinaga mengatakan

              Kam, 24 Juli 2025 pada 1:57 pm

              Betul. Kode yang saya kirim barusan itu sepertinya tidak kompatibel dengan PHPMaker 2018, karena versi itu sudah sangat lama, dan versi 2018 seingat saya memang tidak mendukung pemakaian Container().

              Jadi, sudah saatnya beralih ke PHPMaker versi terakhir supaya bisa memanfaatkan teknologi terakhir juga.

              Reply
      • Dendi mengatakan

        Kam, 24 Juli 2025 pada 1:45 pm

        Barusan saya coba pakai :
        $this->ListOptions->Items[“detail_orderdetails”]->Visible = FALSE;
        $this->ListOptions->Items[“detail_order_details_extended”]->Visible = FALSE;
        Hasilnya sama.. bahkan tak satupun yang hilang. di taruh di ListOptions_Rendered maupun ListOptions_Rendering
        error :
        Warning: Creating default object from empty value in C:\xampp\htdocs\masteroffice\daftar_kirimanlist.php on line 2559
        Warning: Creating default object from empty value in C:\xampp\htdocs\masteroffice\daftar_kirimanlist.php on line 2560
        Notice: Undefined property: stdClass::$Name in C:\xampp\htdocs\masteroffice\phpfn14.php on line 3027
        Notice: Undefined property: stdClass::$Name in C:\xampp\htdocs\masteroffice\phpfn14.php on line 3027

        Reply

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

  • Alasan 21 Harus Pakai Masino Extensions: Form Wizard dengan jQuery SmartWizard v7
  • Alasan 20 Harus Pakai Masino Extensions: Maximum Record per Page
  • Alasan 19 Harus Pakai Masino Extensions: Custom Breadcrumb Links
  • Alasan 18 Harus Pakai Masino Extensions: Improvement User Level Permissions
  • Alasan 17 Harus Pakai Masino Extensions: Dynamic Permission for Export Data

Menu

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

Komentar Terbaru

  • Alasan 21 Harus Pakai Masino Extensions: Form Wizard dengan jQuery SmartWizard v7 pada Alasan 10 Harus Pakai Masino Extensions: Form Wizard
  • Masino Sinaga pada Kode Javascript yang Berubah di PHPMaker 2026 dari PHPMaker 2025
  • Masino Sinaga pada Kode Javascript yang Berubah di PHPMaker 2026 dari PHPMaker 2025
  • Charly pada Kode Javascript yang Berubah di PHPMaker 2026 dari PHPMaker 2025
  • Charly pada Kode Javascript yang Berubah di PHPMaker 2026 dari PHPMaker 2025

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