隐藏展开/折叠符号或停用jqGrid子网格中的规范行
我有一个带有子网格的网格:只有主网格的第一行需要有子网格 我通过谷歌和谷歌找到的解决方案 不起作用隐藏展开/折叠符号或停用jqGrid子网格中的规范行,jqgrid,subgrid,Jqgrid,Subgrid,我有一个带有子网格的网格:只有主网格的第一行需要有子网格 我通过谷歌和谷歌找到的解决方案 不起作用 是否有一种快速且不干净(硬编码)的解决方案?使用jQuery(“网格id”)隐藏“子网格”列。hideCol(“子网格”)删除可用于展开或折叠子网格的完整列,因此您不能在您的案例中使用该方法 我建议您清除“子网格”列的contain,并取消绑定事件句柄内单元格的“单击”事件: loadComplete: function() { $("td.sgcollapsed:not(:first)"
是否有一种快速且不干净(硬编码)的解决方案?使用jQuery(“网格id”)隐藏“子网格”列。hideCol(“子网格”)代码>删除可用于展开或折叠子网格的完整列,因此您不能在您的案例中使用该方法 我建议您清除“子网格”列的contain,并取消绑定事件句柄内单元格的“单击”事件:
loadComplete: function() {
$("td.sgcollapsed:not(:first)","#list").unbind('click').html('');
}
您将获得以下结果:
(您可以在现场看到相应的示例)。重要的是要理解,事件将在任何页面上调用,因此在第二个页面上,您将只在第一行上使用subrgid
若在选择需要子网格的行时需要实现更复杂的逻辑,可以使用以下代码
loadComplete: function() {
var grid = $("#list");
var subGridCells = $("td.sgcollapsed",grid[0]);
$.each(subGridCells,function(i,value){
if (i!==0) {
$(value).unbind('click').html('');
}
});
}
上面的代码与语句$(“td.sgcollapsed:not(:first)”,“#list”).unbind('click').html(“”)
)的作用相同,但您可以轻松修改代码的最后版本以实现更复杂的行为
已更新:如果仅对由rowid
标识的某些行需要减损子网格,则可以使用
$("#"+rowid+" td.sgcollapsed",grid[0]).unbind('click').html('');
(请参阅live)在loadComplete
的内部。如果需要停用id不等于rowid
的所有行的子网格,可以执行以下操作
$('td.sgcollapsed:not("#'+rowid+' td.sgcollapsed")',grid[0]).unbind('click').html('');
(见现场直播)
已更新:现在有了中描述的新功能:
hasSubgrid
回调,可在subGridOptions
中指定。它允许通知jqGrid哪些行应该没有子网格。你能在空闲时间解决我的问题吗。谢谢你。。。我不需要这个。但是,它的解释方式。它帮助了我。再次感谢你