Mysql
 sql >> база данни >  >> RDS >> Mysql

jqGrid Act Странно презареждане на данни след вмъкване и актуализиране

Проверих кода, който сте използвали и намерих причината. Имахте id дублиран проблем във вашия код . Дефинирахте <table> елемент, използван за jqGrid, както следва

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

Има "location" като id . По-късно дефинирахте

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}     
],

където името location ще се използва като име на колоната. Проблемът е, че името на колоната ще се използва за изграждане на id име на различни елементи от мрежата. Освен това редактирането на формуляра използва директно името на колоната като id стойност на <input> поле, което представлява местоположение . След използване на Add формира следния елемент

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

съществува на страницата с id="location" също. Ако потребителят затвори формуляра, той ще бъде скрит, но не и унищожен. Тъй като формулярът за редактиране ще бъде поставен на страницата преди <table id="location"> следващият $("#location tbody:first") използва се в реда не намирайте повече таблицата и мрежата остава празна.

Това, което трябва да направите, е просто да преименувате <table id="location"> към нещо като <table id=" grid-location">` или изберете друго име. Трябва да актуализирате съответния JavaScript код.

Други промени, които трябва да се направят в решетката:

  • променете jsonReader: {repeatitems: true, idms_location: "idms_location" } към jsonReader: {id: "idms_location" } .
  • добавете gridview: true опция.
  • добавете autoencode: true опция.
  • премахване на несъществуващи опции add:true, del:true свойства от colModel
  • премахнете index свойства от colModel .
  • трябва да коригирате Content-Type HTTP заглавка, която използвате в отговора на сървъра с JSON данни. Трябва да бъде Content-Type: application/json вместо Content-Type: text/html които използвате в момента. Това е само един ред от PHP код.
  • можете да премахнете {edit:true,add:true,del:true} опции на navGrid - това са опциите по подразбиране.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Не може да се вмъкне стойност на една колона в python с помощта на MySQL

  2. ГРЕШКА:Грешка при инсталиране на mysql2:ГРЕШКА:Неуспешно изграждане на собствено разширение на gem

  3. Mysql изберете последния ред за всяка група

  4. Схема на база данни за чат:частна и групова

  5. как да предам нулева стойност на поле за външен ключ?