我有一个非常正常的两级jqGrid(网格/子网格)实现。 现在我有一个要求,就是让我只在一些二级行中实现第三级子网格。 如果行上的任何条件不允许,有没有办法排除第三级的开放?
非常感谢
根据@Oleg回复编辑
我已经在引用的答案中实现了更复杂的逻辑示例,即
loadComplete: function() {
var grid = $("#list");
var subGridCells = $("td.sgcollapsed",grid[0]);
$.each(subGridCells,function(i,value){
[...]
var rowData = grid.getRowData( ??? );
});
}
我可以使用任何字段来检索每个循环中的rowData吗?
答案 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("");
}
});
}