1
列の並べ替えが発生したときにレコードを失うJQGridに問題があります。 400件のレコードがある場合、ソートが発生した場合、レコード数が20JQGridが列ソートのレコードを失う
$("#grdCaseFind").jqGrid({
datatype: "local",
height: 250,
colNames:['SeqNo', 'Report Title', 'Location', 'Status', 'Date', 'Officer Name', 'Incident No.'],
colModel:[
{name:'SeqNo',index:'SeqNo', hidden:true},
{name:'RepTitle',index:'RepTitle', align:"center", width:200},
{name:'CaseAddr',index:'CaseAddr', align:"center", width:200},
{name:'RepStatus',index:'RepStatus', align:"center", width:50},
{name:'CaseBeginDate',index:'CaseBeginDate', width:70, align:"center"},
{name:'RepOfficerName',index:'RepOfficerName', width:100, align:"center"},
{name:'IncidentNo',index:'IncidentNo', width:80, align:"center"},
],
multiselect: false,
caption: "",
onSelectRow: function (rowid, status) {
if (status === false) {
$(this).resetSelection();
$("#btnOpen").attr("disabled", true);
} else {
$("#btnOpen").attr("disabled", false);
$("#CaseSelectedIndex").val($("#grdCaseFind").getCell(rowid, "SeqNo"))
}
},
ondblClickRow: function (rowid, iRow, iCol, e) {
document.getElementById("btnOpen").click();
},
onSortCol: function (index, iCol, sortoder) {
$("#btnOpen").attr("disabled", true);
}
});
まで低下例えば、データは、フォーム自体に記憶されたJSON配列から充填されます。
grdCaseFindData = strFindResult.grdCaseFind;
$(grdCaseFindData).each(function (i, e) {
$("#grdCaseFind").addRowData(i + 1, e);
$("#grdCaseFind").attr("rowNum", i + 1);
});
以前にこの問題に遭遇し、レコードを数え、「rowNum」属性を設定することで問題は修正されました。私の他のグリッドでは、唯一の違いは、JSON配列を返すサーバーへの呼び出しによってレコードをロードしていることです。なぜこのグリッドが他のものと同じように動作していないのかのアイデアですか?