Yii Framework - Membuat tabular input form

alfa6661
- May 26, 2015
0 (0 votes)
Rate :
Cara membuat tabular input form atau master detail form pada Yii Framework

Pada saat membuat aplikasi, terkadang kita diharuskan untuk membuat form dengan bentuk master detail. Kode berikut ini merupakan contoh sederhana cara membuat form master detail pada Yii Framework.

Form bagian atas adalah form master, berisi field-field yang ada pada tabel masters. Dalam contoh ini, hanya 1 (satu) field yang harus diisi oleh user, yaitu field name. Adapun form di bagian bawah adalah form detail. Jumlah record dalam form detail tidak dibatasi, karena itu, penambahan record baru dilakukan on the fly melalui javascript. Tombol [+] jika diklik akan menambahkan baris baru. Jika ingin menghapus baris yang tidak dipakai, tekan tombol [x] pada baris yang hendak dihapus. 

Pembuatan form master detail ini membutuhkan extensi dynamictabularform

Computer science education cannot make anybody an expert programmer any more than studying brushes and pigment can make somebody an expert painter

– Eric S. Raymond

Have a better explanation?

If you have comments about this post. Please write your comments below

  • yuniarty - posted 1 year ago
    Saya coba import ke dalam localhost folder saya. Tapi, tombol X (hapus) tidak dapat berfungsi, sedangkan tombol + (tambah) bisa. Mohon pencerahannya, master.
     Terimakasih. :)
    • alfa6661 - posted 1 year ago

      cek inspect element. ada error?

      • yuniarty - posted 1 year ago
        Ga ada pas diinspect error. Akhirnya tombol hapus, saya pakai script lain dan berhasil bisa. Lalu, saya implementasi tabular input tersebut ke dalam proyek saya. Dimana proyek saya itu terdiri dari 3 tabular input berbeda model dalam satu form. Masalahnya sekarang, kenapa tidak bisa disubmit form tersebut? Kalau tabular input tersebut tidak diikutsertakan dalam form, baru berhasil submit. Padahal controllernya sudah saya sesuaikan dengan yang contoh. Mohon pencerahannya ya. Terimakasih :)
        • alfa6661 - posted 1 year ago

          saran saya coba satu persatu tabular inputnya, kalo 1 udah berhasil lanjut ke tabular yang lain, dst.

          Kalo masih gagal, coba di post action controllernya, siapa tau bisa saya bantu.

  • Saeful - posted 1 year ago

    Pak saya punya masalah pada extension ini , waktu klik tambah tidak bisa menambah form sedangkan hapus bisa,

    errornya kaya gini 

    GET http://localhost:81/prakerin_smk3/prakerin/getRowForm?key=6 404 (Not Found)

    • alfa6661 - posted 1 year ago

      action di controller udah di definisiin belum?

      • Saeful - posted 1 year ago

        pak di definisikan dimananya ? , kalau method action sudah 


        public function actions()
        {
        return array(
        'getRowForm'=>array(
        'class'=>'ext.DynamicTabularForm.actions.GetRowForm',
        'view'=>'_siswa_form',
        'modelClass'=>'DetailPrakerin'
        ),
        );
        }


        di accesrules nya juga sudah ditambahin 

        • alfa6661 - posted 1 year ago

          itu method actions di controller kan?

        • Saeful - posted 1 year ago
          iya pak betul
        • alfa6661 - posted 1 year ago

          kalo dari errornya berarti action nya ga di temukan. Mungkin karena pengaturan url manager. coba di cek.

        • Saeful - posted 1 year ago
          iya pa masalahnya karena pengaturan umlManager , sekarang sudah bisa , makasih pa
  • yogiw - posted 2 years ago
    kalau di update bisa tapi pas di save ga store ke db tapi pas controller createnya dibalik ke defaultnya masih bisa. solusinya gimana pa?
    • alfa6661 - posted 2 years ago
      cek rules model. kemungkinan ada validasi yang gagal.
  • yogiw - posted 2 years ago
    kalau data nya ga masuk ke database itu gimana pa? codingnya padahal sudah sama tapi tiap pas mau save datanya ga masuk ke db, terus ga redirect ke view tetep diam di form 
    • alfa6661 - posted 2 years ago
      kemungkinan ada validasi yang gagal.
  • pipis - posted 2 years ago
    pak kalo tombol + nya gabisa gimana pak?
    • alfa6661 - posted 2 years ago
      Inspect element. cek ada error apa ngga.