gpt4 book ai didi

javascript - JQGrid 在列排序时丢失记录

转载 作者:行者123 更新时间:2023-11-30 10:44:27 25 4
gpt4 key购买 nike

我遇到了一个问题,即发生列排序时 JQGrid 会丢失记录。例如,如果有 400 条记录,当排序发生时,记录数下降到 20。

    $("#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 数组。为什么这个网格的行为与其他网格不同?有什么想法吗?

最佳答案

忽略这个问题。显然,在初始化网格后动态设置 rowNum 属性存在问题。我发现的唯一解决方法是要么

rowNum: -1

这只适用于早期版本的 JQGrid,或者

rowNum: 9007199254740992

这是 maxInt 大小,一个不太可能达到的天文数字。

如果有人知道更优雅和当前的解决方案,请更正我的答案。

关于javascript - JQGrid 在列排序时丢失记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9232969/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com