隐藏展开/折叠符号或取消激活规范。 jqGrid子网格中的行
我有一个网格与一个子网格:只有主网格的第一行需要有一个子网格。
我find的解决scheme和谷歌和http://www.trirand.com/….i:subgrid&s[]=hidecol不起作用。
有一个快速和肮脏(硬编码)的解决scheme?
用jQuery("#grid_id").hideCol('subgrid');隐藏' jQuery("#grid_id").hideCol('subgrid'); '列jQuery("#grid_id").hideCol('subgrid'); 删除可用于展开或折叠子网格的完整列,所以你不能在你的情况下使用的方式。 
我build议你清除“subgrid”列的内容,并解除loadComplete事件句柄内的单元格的“click”事件:
 loadComplete: function() { $("td.sgcollapsed:not(:first)","#list").unbind('click').html(''); } 
 你会得到以下结果:  (你可以在这里看到相应的例子)。 重要的是要明白, loadComplete事件将在任何页面上被调用,所以在第二页上,你也将只在第一行上进行subrgid。
  (你可以在这里看到相应的例子)。 重要的是要明白, loadComplete事件将在任何页面上被调用,所以在第二页上,你也将只在第一行上进行subrgid。 
如果你需要实现更复杂的逻辑来select需要有子网格的行,你可以使用下面的代码
 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('') ,但是你可以很容易地修改上一个版本的代码来实现更复杂的行为。 
  更新 :如果你只需要删除subgrid的rowid标识的行可以使用 
 $("#"+rowid+" td.sgcollapsed",grid[0]).unbind('click').html(''); 
  (见住在这里 )的loadComplete里面。 如果你需要取消激活所有行的id不等于rowid子网格,你可以做如下的事情 
 $('td.sgcollapsed:not("#'+rowid+' td.sgcollapsed")',grid[0]).unbind('click').html(''); 
(见这里住)
  更新 : 免费jqGrid现在有新的function描述在答案 : hasSubgridcallback,可以在subGridOptions指定。 它允许通知jqGrid哪些行不应该有子网格。