2011-03-12 55 views
7

我看你可以添加一个顶部标题栏,并通过使用此代码放在一个标题:如何删除(或隐藏)jqgrid中的标题栏?

jQuery('#grid').setCaption("Title"); 

反正是有,如果我已经设置一个标题,删除标题栏?

我试过这个,但它只是删除文本(不会删除整个标题栏)。

jQuery('#grid').setCaption(""); 

回答

19

如果你想快点, 测试

$(".ui-jqgrid-titlebar").hide(); 

,或者如果你有多个网格,则只能躲在$( “#电网”)的标题栏,然后做

$("#gview_grid > .ui-jqgrid-titlebar").hide() 
7

如果您创建没有标题栏的jqGrid(caption: ""),并检查与开发工具或Firebug相关的网格,您将看到类别为“ui-jqgrid”的<div> -titlebar”有<span>与类‘UI-jqGrid的标题’,并与类锚‘UI-的jqGrid - 标题栏关闭’的子元素:

<div id="gbox_list" class="ui-jqgrid ui-widget ui-widget-content ui-corner-all"> 
    ... 
    <div id="gview_list" class="ui-jqgrid-view"> 
     <div style="display: none;" 
      class="ui-jqgrid-titlebar ui-widget-header ui-corner-top ui-helper-clearfix"> 
      <a style="right: 0px;" class="ui-jqgrid-titlebar-close HeaderButton" 
       role="link" href="javascript:void(0)"> 
       <span class="ui-icon ui-icon-circle-triangle-n"></span> 
      </a> 
      <span class="ui-jqgrid-title"></span> 
     </div> 
     ... 

所以,即使你没有创建网格标题栏jqGrid 创建标题栏的所有隐藏元素

我通过在标题中创建并能找到下面的代码片段的jqGrid的代码看起来

if(ts.p.caption) { 
    ... 
    $(".ui-jqgrid-titlebar-close",grid.cDiv).click(function(e){ 
    ... 
} else {$(grid.cDiv).hide();} 

所以有相同的结果与caption: ""参数初始化网格,你可以做以下

var mygrid = jQuery('#list'), 
    cDiv = mygrid[0].grid.cDiv; 
mygrid.setCaption(""); 
$("a.ui-jqgrid-titlebar-close",cDiv).unbind(); 
$(cDiv).hide(); 

只有在您确定后,您才应该从最小化按钮进行解除绑定,以后网格将不会有标题(caption)。绑定花费的资源较少,对隐藏的网格无能为力。

因此,Pravat Maskey的the suggestion只是为了隐藏标题是绝对正确的,我的调查只是证实了这一点。