Javascript 在jqGrid中选择新添加的行

Javascript 在jqGrid中选择新添加的行,javascript,jquery,jqgrid,Javascript,Jquery,Jqgrid,我需要能够选择新添加的行(它总是最后添加的),但在重新加载网格后,这似乎是不可能的 是否有可靠的方法来选择网格重新加载后的最后一行?这是我现在的代码,网格重新加载很好,但最后一个id未定义。触发器重新加载没有实现承诺(那么),所以我不能利用它。有什么想法吗 $('#mygridid').trigger('reloadGrid'); var lastRowId = $('#mygridid').find(">tbody>tr.jqgrow:last").attr('id')

我需要能够选择新添加的行(它总是最后添加的),但在重新加载网格后,这似乎是不可能的

是否有可靠的方法来选择网格重新加载后的最后一行?这是我现在的代码,网格重新加载很好,但最后一个id未定义。触发器重新加载没有实现承诺(那么),所以我不能利用它。有什么想法吗

 $('#mygridid').trigger('reloadGrid');    
 var lastRowId = $('#mygridid').find(">tbody>tr.jqgrow:last").attr('id');

我们使用的是免费版本4.4.4。

您可以尝试将您发布的代码附加到行中

$('#mygridid').jqGrid("setSelection", lastRowId, false, null);
例如,如果重新加载本地网格,它应该可以工作。如果从服务器加载数据,则代码应该更安全,例如,以下内容:

var mySelectionLastRow = function () {
    this.p.selrow = null;
    this.p.selarrrow = [];
    if (this.rows.length > 1) {
        var lastRowId = this.rows[this.rows.length - 1].id;
        $(this).jqGrid("setSelection", lastRowId, false, null);
    }
    $(this).unbind(".myLastRowSelection", mySelectionLastRow);
};
$("#mygridid").bind("jqGridGridComplete.myLastRowSelection", mySelectionLastRow);
// ...
$("#mygridid").trigger("reloadGrid");
上面的代码将
jqGridGridComplete
事件绑定到函数
mySelectionLastRow
,然后触发
reloadGrid
。函数
mySelectionLastRow
将在重新加载完成后选择最后一行,然后解除绑定。因此,下次重新加载网格时不会选择最后一行。如果每次重新加载网格时确实需要强制选择,则可以在创建网格之前,通过
取消绑定
调用删除make line,并进行上述绑定。因此,即使在第一次加载网格时,每次都会调用
mySelectionLastRow