2013-02-18 104 views
0

選擇行我刷新的jqGrid使用的setInterval(jqGrid的-LoadComplete事件中)後假。如果我選擇網格中的任何一行,我如何停止刷新jqgrid。因爲它沒有選中我選中的行。jqGrid的刷新的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); 
    } 
} 

回答

0

聲明一個全局變量定時器

var timer; 

在你jqGrid的負載情況下,調用與更新代碼的功能

timer = setInterval(fn, intTimeoutInMilliseconds); 

在用於選擇行事件代碼

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

感謝您的答覆。但ClearTimeout沒有解決問題。它取消了我檢查過的複選框,還有一件事我觀察到「加載...」標籤在網格中心繼續閃爍。我已將setInterval持續時間設置爲10000 – user2000280 2013-02-18 13:17:28

+0

此標籤不斷顯示,因爲您的setTimeout函數本身反覆調用。你可以在你調用setTimeout函數的地方顯示一些代碼嗎? – 2013-02-18 13:27:36

+0

請把代碼在你的問題本身,而不是評論 – 2013-02-18 13:49:59

0

As p呃我的理解是你想停止刷新,如果你選擇一行。您可以通過檢查setInterval內是否選擇一行來做到這一點。 「grid.jqGrid( 'getGridParam', 'selrow')===空」

代碼:

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); 
    } 
} 
+0

感謝您的幫助Srinivas。它工作得很好,但如果我沒有選擇任何行,網格中心的「加載...」文本仍然保持閃爍。如果我將間隔時間增加到10K也面臨同樣的問題。請提供您的意見 – user2000280 2013-02-19 05:46:25

+0

我現在有點困惑。如果你不想加載文本,那麼你可以在你的網格中添加配置--addui:'disable'。讓我知道你是否需要進一步的幫助。 – VSV 2013-02-19 15:30:17

+0

感謝您的回覆。我添加了loadui:'disable'它停止刷新網格。由於SetInterval(10000)的問題「正在加載...」在網格的中心處保持閃爍。我希望在每10000ms刷新一次時看到「加載...」文本。這裏附上網格配置 \t loadtext:'檢索數據...'。 \t loadui: '禁用', \t多選:真實, \t sortname: '', \t viewrecords:真實, \t multiboxonly:真實, \t排序順序: 「遞減」 – user2000280 2013-02-20 06:19:12