如何以编程方式选择JQGrid的顶行?

时间:2009-11-23 21:11:21

标签: jquery jqgrid selection row

如何以编程方式选择JQGrid的顶行。我希望在页面上打开顶行时已经选中了该行。我的网格按描述性列排序,因此第一行的id可以是任意数字。我知道使用的方法我只是不知道如何获得顶部(第一)行的rowid。方法是:

jQuery("#mygrid").setSelection(rowid, true);

8 个答案:

答案 0 :(得分:18)

上面的答案很接近,但案件已经结束了。它应该是:

$("#mygrid").getDataIDs()[0];

这应该可以正常工作。

答案 1 :(得分:9)

或者,如果不使用jqGrid API,您应该能够通过导航DOM来检索顶行:

var top_rowid = $('#mygrid tbody:first-child tr:first').attr('id');

答案 2 :(得分:8)

jqGrid支持只需要正确调用的setSelection方法:

var grid = jQuery("#mygrid"),
    ids = grid.jqGrid("getDataIDs");
if(ids && ids.length > 0)
    grid.jqGrid("setSelection", ids[0]);

答案 3 :(得分:6)

 $("#mygrid").getDataIDs()[0]; // SO now requires 30 characters, so....

答案 4 :(得分:1)

表格有标题行时的完整代码:

var top_rowid = $('#mygrid tr:nth-child(2)').attr('id'); 
$("#mygrid").setSelection(top_rowid, true);

答案 5 :(得分:1)

我使用了以下内容:

var grid = $('#list');
grid.jqGrid({
    ...
    gridComplete: function() {
        var ids = grid.jqGrid("getDataIDs");
        if(ids.length > 0) { 
            grid.jqGrid("setSelection", ids[0]);
        }
    },
    ...
});

答案 6 :(得分:0)

如果您有标题行,请尝试以下操作:

var top_rowid = $('#mygrid tbody:first-child tr:nth-child(2)').attr('id');

答案 7 :(得分:0)

如果您有标题行,请尝试以下操作:

$('#tb_par tbody:first-child tr:nth-child(2)').trigger("click");

如果不是:

$('#mygrid tbody:first-child tr:first').trigger("click");

它会直接触发JqGrid的点击事件。