【问题标题】:How to get the selected row ids sorted according to index in jqgrid?如何获取根据jqgrid中的索引排序的选定行ID?
【发布时间】:2012-03-27 10:39:34
【问题描述】:

我正在使用

getGridParam('selarrrow'); 

要获取被选中的行,该方法根据他们的选择返回我选择的行 ID,但我想要根据他们的索引的 id。我必须编写一个方法来对 id 进行排序还是有一个内置方法,它按索引的顺序返回选定的行 ID。

提前致谢

【问题讨论】:

    标签: jqgrid


    【解决方案1】:

    如果您指的是网格中行的索引,那么您必须使用 $("#gridId").jqGrid("getGridParam", "selarrrow") 返回的数组或 id。您可以将Arraysort() 方法与您的自定义排序功能一起使用。您可以使用 id 是 <tr> 元素的 id 的事实。所以<tr>的DOM元素已经原生实现了rowIndex属性,你可以通过$("#"+rowid)[0].rowIndex获取。

    代码的简化形式如下

    var selRowIds = $("#gridId").jqGrid("getGridParam", "selarrrow");
    
    selRowIds.sort(function (id1, id2) {
        // one can use document.getElementById alternatively
        return $("#" + id1)[0].rowIndex - $("#" + id2)[0].rowIndex;
    });
    

    或者你可以使用namedItem 方法来代替

    var $grid = $("#gridId"),
        selRowIds = $grid.jqGrid("getGridParam", "selarrrow"),
        rows = $grid[0].rows;
    
    selRowIds.sort(function (id1, id2) {
        return rows.namedItem(id1).rowIndex - rows.namedItem(id2).rowIndex;
    });
    

    您可能应该在代码中包含更多验证,以确保可以找到具有 id 的项目并且它具有 rowIndex 属性。

    【讨论】:

    • :谢谢,它工作正常。我使用 getInd(rowId) 获取行的索引。
    • @pavi:不客气! getInd 在内部做同样的事情。所以你可以使用对你来说更舒服的 API。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-12
    • 1970-01-01
    • 2021-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多