データベースからデータをロードするために使用している以下のコードを参照してください。初めてデータをロードする限り、コードは正常に動作します。各レコードと各ページは完全に読み込まれます。
Reload 関数を呼び出すと、問題が発生します。
- 重複する行をロードする場合があります (たとえば、ジェイソンが 20 行を返した場合、グリッドには 40 が表示されます)。
- グリッド内のレコードの最後のページを失います。
jQuery("#list").jqGrid({
url: "http://localhost/myapp/myfile.php",
datatype: "json",
mtype:"POST",
postData:{folder: 'INBOX' },
jsonReader:
{
root: "rows",
page: "currpage",
total: "totalpages",
records: "totalrecords",
id: "0",
cell:"",
repeatitems: false
},
colNames: ['Id','Message'],
colModel: [
{ name: 'messageid', index: 'messageid', hidden: true, search:false},
{ name: 'message', index: 'message', search:false},
],
rowNum: 10,
scroll: 1,
prmNames:{npage:1},
autowidth: true,
height: 470,
loadonce: true,
viewrecords: true,
altRows:true,
caption: "",
pager: "#plist",
});
jQuery("#list").jqGrid('setFrozenColumns');
function reload_list()
{
$("#list").setGridParam({datatype:'json'}).trigger('reloadGrid');
}
以下の情報に注意してください
私が使用しているフレームワークはJqGridバージョンjquery.jqGrid-4.3.1 の Codeigniterです。
コードに含めたファイルは
- css/ui.jqgrid.css
- js/grid.locale-en.js
- js/jquery.jqGrid.src.js
- plugins/grid.posttext.js
- src/jqModal.js
- src/jqDnR.js
デモ: http://www.trimantra.com/demo/appointmentsystem/grid.php
この問題を解決する方法を教えてください。前もって感謝します。