JqGrid の動作がおかしい。データベース内のテーブルを参照する jqGrid を含むマスターページを作成するだけです。
このページは完全に機能しています。次に、同じロジックを使用する必要があり、正確なページを追加のphpファイルでコピーし、適切なテーブルを指すように調整を作成します。
私のマスターページ(部門ページ-最初のページ(100%動作))では、jqgrid関数は正常に機能していますが、最初のページに基づく2番目と3番目のページでは、jqgridが奇妙に動作しています。
新しい値を作成するか、いくつかの値を更新すると、jqgrid は新しいデータでグリッドを自動的にリロードする必要があります。しかし、私の場合、グリッドはデータをリロードしますが、まったく書き込みません。
この奇妙な動作は、最初の jQGrid ページ (dept ページ) では発生しません。
より明確にするためにスクリーンショットも挿入します
次に、いくつかの php ファイルを参照して、単純にグリッドに値を追加します。値が実行され、データベースに格納されます。このメソッドは POST メソッドを使用します。
次に、jQgrid はデータベースから新しいデータを自動的に取得し、GRID に書き込む必要があります。しかし、私のケースでは、グリッドはデータを書き込んでいません。
スクリーン ショットの右下を見るとわかるように、11 個の値がありますが、最初のスクリーンショットでは 10 個しかありません。したがって、グリッドは実際に INSERT ステートメントを実行しますが、リロードすると壊れます。
これを克服する方法はありますか?? ありがとうございました。
編集済み: HTML コード:
<table id="location"><tr><td /></tr></table>
<div id="pager-location"></div>
JavaScript コード:
$(document).ready(function() {
//alert("start");
jQuery("#location").jqGrid({
mtype:'GET',
url:'functions/get_location.php',
editurl:'functions/edit_location.php',
datatype: "JSON",
colNames:['Location ID','Location'],
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}
],
loadComplete: function () {
alert("OK");
},
loadError: function (jqXHR, textStatus, errorThrown) {
alert('HTTP status code: ' + jqXHR.status + '\n' +
'textStatus: ' + textStatus + '\n' +
'errorThrown: ' + errorThrown);
alert('HTTP message body (jqXHR.responseText): ' + '\n' + jqXHR.responseText);
},
rowNum:10,
rowList:[5,10,15],
pager: '#pager-location',
sortname: 'idms_location',
viewrecords: true,
jsonReader: {repeatitems: true, idms_location: "idms_location" },
sortorder: "asc",
caption:"MSC Locations"
});
jQuery("#location").jqGrid('navGrid','#pager-location',{edit:true,add:true,del:true},{},{},{},{closeAfterSearch:true},{});
jQuery("#location").jqGrid('gridResize',{minWidth:350,maxWidth:850,minHeight:80, maxHeight:350});
//alert("end");
});