sql >> Database >  >> RDS >> Mysql

jqGrid Act Strange Gegevens opnieuw laden na invoegen en bijwerken

Ik heb de code die je hebt gebruikt geverifieerd en de reden gevonden. U had id duplicaatprobleem in uw code . Je hebt <table> gedefinieerd element gebruikt voor jqGrid als volgt

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

Het heeft "location" als de id . Later definieerde je

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

waar de naam location wordt gebruikt als de kolomnaam. Het probleem is dat de kolomnaam zal worden gebruikt om id te bouwen naam van verschillende elementen van het raster. Bovendien gebruikt de formulierbewerking de kolomnaam direct als id waarde van de <input> veld dat de locatie vertegenwoordigt . Na gebruik van Add formulier het volgende element

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

bestaat op de pagina met id="location" te. Als de gebruiker het formulier sluit, wordt het verborgen, maar niet vernietigd. Omdat het bewerkingsformulier op de pagina wordt geplaatst voor <table id="location"> de volgende $("#location tbody:first") gebruikt in de regel vind de tafel niet meer en het raster blijft leeg.

Wat u moet doen, is gewoon <table id="location"> hernoemen naar iets als <table id=" grid-location">` of kies een andere naam. U moet de corresponderende JavaScript-code bijwerken.

Andere wijzigingen die in het raster moeten worden gedaan:

  • wijzig jsonReader: {repeatitems: true, idms_location: "idms_location" } naar jsonReader: {id: "idms_location" } .
  • voeg gridview: true optie.
  • voeg autoencode: true optie.
  • verwijder niet-bestaande opties add:true, del:true eigenschappen van colModel
  • verwijder index eigenschappen van colModel .
  • u moet Content-Type repareren HTTP-header die u gebruikt in de serverreactie met JSON-gegevens. Het moet Content-Type: application/json . zijn in plaats van Content-Type: text/html die u momenteel gebruikt. Het is maar één regel PHP-code.
  • je kunt {edit:true,add:true,del:true} verwijderen opties van navGrid - het zijn standaardopties.



  1. Hoe kan ik NULL-gegevens invoegen in de MySQL-database met Python?

  2. PHP OOP MySQL-programmering

  3. MySQL Match-probleem

  4. Kan Amazon RDS niet openen met Eclipse