Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

jqGrid Bertindak Aneh Memuat Ulang Data Setelah Memasukkan dan Memperbarui

Saya memverifikasi kode yang Anda gunakan dan menemukan alasannya. Anda memiliki id masalah duplikat dalam kode Anda . Anda mendefinisikan <table> elemen yang digunakan untuk jqGrid sebagai berikut

<table id="location"><tr><td /></tr></table>
<div id="pager-location"></div>

Ini memiliki "location" sebagai id . Nanti Anda tentukan

colModel: [
    {name:'idms_location',index:'idms_location', width:150, editable:true,add:true, del:true, key:true},
    {name:'location',index:'location', width:800,editable:true, add:true, del:true}     
],

dimana nama location akan digunakan sebagai nama kolom. Masalahnya adalah nama kolom akan digunakan untuk membangun id nama elemen yang berbeda dari grid. Selain itu pengeditan formulir menggunakan nama kolom langsung sebagai id nilai <input> bidang yang mewakili lokasi . Setelah penggunaan Add form, elemen berikut

<input name="location" class="FormElement ui-widget-content ui-corner-all" id="location" role="textbox" type="text">

ada di halaman dengan id="location" juga. Jika pengguna menutup formulir itu akan disembunyikan, tetapi tidak dihancurkan. Karena form edit akan ditempatkan pada halaman sebelum <table id="location"> $("#location tbody:first") berikutnya digunakan di baris tidak menemukan meja lagi dan grid tetap kosong.

Yang harus Anda lakukan hanyalah mengganti nama <table id="location"> untuk sesuatu seperti <table id=" grid-location">` atau pilih nama lain. Anda harus memperbarui kode JavaScript yang sesuai.

Perubahan lain yang harus dilakukan di grid:

  • ubah jsonReader: {repeatitems: true, idms_location: "idms_location" } ke jsonReader: {id: "idms_location" } .
  • tambahkan gridview: true pilihan.
  • tambahkan autoencode: true pilihan.
  • hapus opsi yang tidak ada add:true, del:true properti dari colModel
  • hapus index properti dari colModel .
  • Anda harus memperbaiki Content-Type Header HTTP yang Anda gunakan dalam respons server dengan data JSON. Seharusnya Content-Type: application/json alih-alih Content-Type: text/html yang Anda gunakan saat ini. Ini hanya satu baris kode PHP.
  • Anda dapat menghapus {edit:true,add:true,del:true} opsi navGrid - itu opsi default.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kesalahan memuat driver QMYSQL

  2. Gunakan grup demi masuk dan kembalikan identitas baris

  3. Menjalankan beberapa kueri asli sekaligus

  4. Mysql bergabung dengan tabel

  5. Tidak dapat mengubah kolom yang digunakan dalam batasan kunci asing