我正在使用setInterval刷新jqgrid (在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);
}
}发布于 2013-02-18 20:17:15
为定时器声明一个全局变量
var timer;在jqGrid load事件中,使用刷新代码调用函数
timer = setInterval(fn, intTimeoutInMilliseconds);在select row事件代码中
onSelectRow: function(id){
clearTimeout(timer);
}发布于 2013-02-18 23:25:33
据我所知,如果你选择了一行,你想要停止刷新。您可以通过检查是否在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);
}
}https://stackoverflow.com/questions/14936045
复制相似问题