自动重新加载jqgrid并在编辑时停止

阿贝雷尔

我正在尝试实现自动刷新网格,并在用户编辑/添加/搜索时停止,因此我在ondblClickRow事件中使用clearInterval(因为我使用了内联编辑)。

因此,我的问题是何时何地重新启动de autoreload。我尝试在loadComplete事件中尝试,但这似乎是个好地方,但是每次loadComplete将setInterval()激发到reloadGrid时,它都会“乘以” reloadGrid调用!换句话说,第一次(8秒后)它会重新加载正常。第二次调用2重新加载。第三次调用4重载。第四次它调用8重载,依此类推...这意味着每次都会有许多ajax请求!

有什么不对吗?我将不胜感激,谢谢!

这是我的代码:

var mySeconds = 10 * 1000; //seconds *1000
var myTimer;

function autoReloadGrid($grid) {
    $grid.trigger("reloadGrid", [{current:true}]);
};

var $myGrid = $("#myGrid");

$myGrid.jqGrid({ 
    //grid options here...

    ondblClickRow: function(rowId) {
        clearInterval(myTimer);     
        //editRow here...
    },

    loadComplete: function() {
        console.log('myTimer = ' + myTimer);
        myTimer = setInterval( function() { autoReloadGrid($myGrid) }, mySeconds);
    }
 })

注意:我使用console.log测试myTimer值,每次触发时它都会显示一个不同的ID。

奥列格

代码中的主要问题如下:您可以创建多个执行计时器autoReloadGrid您只能取消中最后创建的计时器ondblClickRow

重要的是要了解它loadComplete可以多次执行:分页,排序等。因此,我建议您包括clearIntervalbefore的电话setInterval

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使Sublime Text重新加载正在编辑的文件?

extjs并在添加/编辑记录时重新加载所有其他存储

在保存/提交时重新加载jqGrid

LinuxMint 14 x64在启动时停止于:停止samba自动重新加载集成

自动将所有输入值保存到localStorage并在页面重新加载时将其恢复

仅在编辑特定文件时使Flask重新启动

如何防止Angular在编辑时对列表进行重新排序?

用户正在编辑评论时停止实时更新?

自动重新加载文件,并在neovim和自动重新加载nerbtree中

在编辑具有以前成功上传的图像的记录时,如何不必在编辑时重新上传?

停止重新加载时缓存窗口对象

如何在编辑时在Jqgrid上禁用保存处理程序

Jqgrid Treegrid在更新本地源数据时重新加载节点

为什么Ruby on Rails在编辑代码后会虚假地引发“无法自动加载常量”?

停止使用Selenium / chromedriver自动重新加载网页

删除parentElement并在再次重新加载时保存更改

jQuery添加类并在页面重新加载时保留

如何在编辑后不重新启动emacs的情况下重新加载.spacemacs文件?

每次打开工作表时,函数都会重新计算,我只希望它在编辑时重新计算

如何定期重新加载jQGrid

编辑组件html时,Angular CLI是否不会重新加载?

TinyMCE 4中是否有一种在编辑时自动追加字符的方法?

为什么在编辑HTML时未显示Sublime文本3中的自动完成窗口?

在页面加载时在编辑jsp页面上的下拉列表中显示选定的值(Spring MVC)

加载场景时,场景仅在某些情况下在编辑器中崩溃

Leaflet MarkerCluster 在缩放时停止自动重新聚类

调用axios.get时停止重新加载页面

按下asp按钮时如何停止重新加载页面?

使用performSegue视图时,停止重新加载Webview