在jqgrid中选择行后,jqgrid刷新fa​​lse

时间:2013-02-18 12:13:31

标签: jquery jqgrid

我正在刷新jqgrid使用setInterval(在jqGrid-LoadComplete事件中)。如果我选择网格中的任何行,我该如何停止刷新jqgrid。因为它取消了我选中的行。

var timer; //Global Variable 
function populateGrid() { /*Grid population Code URL:url, <ColNames> <colModel> **********/
    loadComplete: function () {
        var myGrid = $("#<grid_name>");
        $("#cb_" + myGrid[0].id).hide();
        var resCount = $("#<grid_name>").jqGrid('getGridParam', 'reccount');
        timer = setInterval(function () {
            $("#<grid_name>").trigger("reloadGrid");
        }, 4000);
    },
    onSelectRow: function (rowid, status, e) {
        clearTimeout(timer);
    }
}

2 个答案:

答案 0 :(得分:0)

为计时器

声明一个全局变量
var timer;

在jqGrid加载事件中,使用刷新代码

调用该函数
timer = setInterval(fn, intTimeoutInMilliseconds);

在选择行事件的代码中

onSelectRow: function(id){
    clearTimeout(timer);
}

答案 1 :(得分:0)

根据我的理解,如果选择一行,您希望停止刷新。您可以通过检查setInterval中是否选择了行来执行此操作。 “grid.jqGrid('getGridParam','selrow')=== null”

代码:

var timer; //Global Variable 
function populateGrid() { /*Grid population Code URL:url, <ColNames> <colModel> **********/
    loadComplete: function () {
        var myGrid = $("#<grid_name>");
        $("#cb_" + myGrid[0].id).hide();
        var resCount = $("#<grid_name>").jqGrid('getGridParam', 'reccount');
        timer = setInterval(function () {
            if($("#<grid_name>").jqGrid ('getGridParam', 'selrow')===null){
                   $("#<grid_name>").trigger("reloadGrid");
            }
        }, 4000);
    },
    onSelectRow: function (rowid, status, e) {
        clearTimeout(timer);
    }
}
相关问题