【问题标题】:Three level jQGrid only for some rows三级 jQGrid 仅适用于某些行
【发布时间】:2013-10-09 13:21:27
【问题描述】:

我有一个运行良好的两级 jqGrid(网格/子网格)实现。 现在我有一个要求,促使我只在一些二级行中实现三级子网格。 如果行上的任何条件不允许,有什么办法可以排除第三层的开放?

非常感谢

根据@Oleg 回答编辑

我已经实现了参考答案中更复杂的逻辑示例,即

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

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

【问题讨论】:

    标签: jqgrid


    【解决方案1】:

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

    更新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("");
            }
        });
    }
    

    【讨论】:

    • 感谢您的回复。我已经按照你建议的方式实施了。我可以对我的问题编辑有另一个快速回答吗?
    • 好的。我使用了$(value).closest('tr').attr('id')grid.getRowdata() 方法来检索行数据。再次感谢您的帮助
    • @Lorenzo:我更新了我的答案,但我看到你已经找到了问题的解决方案。不客气!
    猜你喜欢
    • 2020-10-24
    • 1970-01-01
    • 1970-01-01
    • 2013-01-11
    • 2018-11-09
    • 2012-10-30
    • 2020-10-21
    • 2019-04-11
    • 2023-03-31
    相关资源
    最近更新 更多