sql >> Database teknologi >  >> RDS >> Mysql

jqGrid Act Strange Genindlæsning af data efter indsættelse og opdatering

Jeg bekræftede den kode, du brugte, og fandt årsagen. Du havde id duplikatproblem i din kode . Du definerede

element brugt til jqGrid som følgende

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

Den har "placering" som id . Senere definerede du

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

hvor navnet placering vil blive brugt som kolonnenavn. Problemet er, at kolonnenavnet vil blive brugt til at bygge id navn på forskellige elementer i gitteret. Desuden bruger formularredigeringen kolonnenavnet direkte som id værdien af ​​ felt, som repræsenterer placering . Efter brug af Tilføj danner det følgende element

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

findes på siden med id="location" også. Hvis brugeren lukker formularen, vil den blive skjult, men ikke ødelagt. Fordi redigeringsformularen vil blive placeret på siden før

den næste $("#location tbody:first") brugt i linjen finder ikke bordet mere, og gitteret forbliver tomt.

Det du skal gøre er bare at omdøbe

til noget som
` eller vælg et andet navn. Du bør opdatere den tilsvarende JavaScript-kode.

Andre ændringer, der bør foretages i gitteret:

  • ændre jsonReader:{repeatitems:true, idms_location:"idms_location" } til jsonReader:{id:"idms_location" } .
  • tilføj gridview:true mulighed.
  • tilføj autoencode:true mulighed.
  • fjern ikke-eksisterende muligheder add:true, del:true egenskaber fra colModel
  • fjern indeks egenskaber fra colModel .
  • du bør rette Content-Type HTTP-header, som du bruger i serversvaret med JSON-data. Det skal være Content-Type:application/json i stedet for Content-Type:text/html som du bruger i øjeblikket. Det er kun én linje PHP-kode.
  • du kan fjerne {edit:true,add:true,del:true} muligheder for navGrid - det er standardindstillinger.



  1. Opbygning af forespørgsler dynamisk i skinner

  2. Forskellen mellem to tabelstrukturer

  3. MySQL Ugyldig standardværdi for tidsstempel, når der ikke er angivet nogen standardværdi.

  4. brudt rør undtagelse med MySql i Grails app