0

setInterval(jqGrid-LoadComplete イベント内)を使用して 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);
    }
}
4

2 に答える 2

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);
    }
}
于 2013-02-18T15:25:32.583 に答える
0

タイマーのグローバル変数を宣言する

var timer;

jqGrid ロード イベントで、更新コードを使用して関数を呼び出します

timer = setInterval(fn, intTimeoutInMilliseconds);

行選択イベントのコード内

onSelectRow: function(id){
    clearTimeout(timer);
}
于 2013-02-18T12:17:15.280 に答える