如何在触发后使用getGridParam()获取总计数(“reloadGrid”)

问题描述 投票:1回答:1

我想在搜索后查看有关记录的总数。但getGridParam("records")不会在trigger("reloadGrid")之后运行。

这是我的代码。

goSearch : function() {
    var jsonObj = {};
    var $jqGrid = $("#jqGrid");

    if ($("#selectId").val() != "c") {
        jsonObj.serviceImplYn = $("#selectId").val();
    }

    $jqGrid.setGridParam({
        datatype        : "json",
        postData        : {"param" : JSON.stringify(jsonObj)},
        loadComplete    : function(data) {

            if (data.rows.length < 1) {
                alert("no data.");
            }
        }
    }).trigger("reloadGrid");

    //following line not running! first run value = 0, second = success
    var totalCnt = $jqGrid.getGridParam("records");

    console.log(totalCnt);
}

如何获得第一次goSearch()运行的总计数?

javascript jquery jqgrid
1个回答
0
投票

您应该运行该命令

var totalCnt = $jqGrid.getGridParam("records");

在loadComplete你发布

$jqGrid.setGridParam({
    datatype        : "json",
    postData        : {"param" : JSON.stringify(jsonObj)},
    loadComplete    : function(data) {

        if (data.rows.length < 1) {
            alert("no data.");
        }
        var totalCnt = $jqGrid.getGridParam("records");
    }
}).trigger("reloadGrid");

或者在setTimeout函数中运行它,等待ajax请求加载数据,这样你就可以获得所需的信息。

setTimeout(function() {
    var totalCnt = $jqGrid.getGridParam("records");
}, 300);
© www.soinside.com 2019 - 2024. All rights reserved.