三级jQGrid仅适用于某些行

时间:2013-10-09 13:21:28

标签: jqgrid

我有一个非常正常的两级jqGrid(网格/子网格)实现。 现在我有一个要求,就是让我只在一些二级行中实现第三级子网格。 如果行上的任何条件不允许,有没有办法排除第三级的开放?

非常感谢

根据@Oleg回复编辑

我已经在引用的答案中实现了更复杂的逻辑示例,即

loadComplete: function() {
    var grid = $("#list");
    var subGridCells = $("td.sgcollapsed",grid[0]);
    $.each(subGridCells,function(i,value){
         [...]
         var rowData = grid.getRowData( ??? );
    });
}

我可以使用任何字段来检索每个循环中的rowData吗?

1 个答案:

答案 0 :(得分:1)

如果我正确理解了您的问题,您可以像我在the answer中所描述的那样做,但是在第二级子网格上执行此操作。要在某些行中隐藏“+”图标,您只需在第二级子网格的.unbind("click").html("");元素上执行"td.sgcollapsed"

更新The demo演示如何获取rowid并使用getLocalRow(或getRowData)隐藏选择性子网格图标(“+ “图标)。我在演示中使用了以下loadComplete代码:

loadComplete: function () {
    var $grid = $(this);
    $.each($grid.find(">tbody>tr.jqgrow>td.sgcollapsed"), function () {
        var $tdSubgridButton = $(this),
            rowid = $tdSubgridButton.closest("tr.jqgrow").attr("id"),
            rowData = $grid.jqGrid("getLocalRow", rowid);

        if (rowData.amount > 250 ) {
            $tdSubgridButton.unbind("click").html("");
        }
    });
}