jqGrid选择页面加载的第一行

时间:2015-03-18 13:55:19

标签: javascript jquery jqgrid

我有一个jqGrid,我希望在页面加载时选择第一行。我发现了几种不同的方法,但它们似乎都不适合我。数据来自ajax调用,因此我可以告诉网格在加载任何数据之前尝试选择第一行。

var reqListGrid = new BaseGrid("#request_list");
reqListGrid.edit_url = '...'
reqListGrid.name = 'Request List'
reqListGrid.colNames = ["Employee", "Code", "Start Date", "Submitted", "Hours"]
reqListGrid.height = '200px';
reqListGrid.width = 'auto';
reqListGrid.colModel = [
    {name:'req_emp', ...},
    {name:'req_code', ...},
    ...
];
reqListGrid.gridComplete = function(){
    var req_top_row = $("#request_list").getDataIDs()[0];
    $("#request_list").setSelection(req_top_row, true);
};

reqListGrid.createGrid();

我在gridComplete方法中设置了断点,但Chrome从未命中过它。有什么提示吗?

2 个答案:

答案 0 :(得分:0)

OnGridComplete您可以使用以下代码:

var firstRowId = $("tr:first","#request_list").attr("id");
$("#request_list").setSelection(firstRowId);

OnGridComplete的整体代码应如下所示

reqListGrid.gridComplete = function(){
    var req_top_row = $("tr:first","#request_list").attr("id");
    $("#request_list").setSelection(req_top_row);
};

答案 1 :(得分:0)

gridComplete: function () {
                      var idarray = jQuery('#jqTable').jqGrid('getDataIDs');
                    if (idarray.length > 0) {
                    var firstid = jQuery('#jqTable').jqGrid('getDataIDs')[0];
                            $("#jqTable").setSelection(firstid);    
                        }
                }