2010-01-06 185 views
10

我知道我可以使用代码隐藏网格列标题。隐藏ExtJS网格列标题

#gridid .x-grid3-hd-row { display:none; } 

但我不想使用任何CSS更改。如何使用JavaScript做同样的事情?

回答

19

你可以用Ext.grid.GridPanel加入这以这种方式很容易地做到这一点:

hideHeaders: true 
10

您可以将hideHeaders configuration option of the GridPanel设置为true。或者你的意思是在网格呈现之后?

编辑:如果你想改变(或禁用)被创建的头的方式,你也可以从GridView覆盖renderHeadersupdateHeaders。另一种方法可能是通过一个templates选项将GridView,与header值设置为空的模板,而不是默认的:

ts.header = new Ext.Template(
    '', 
    '{cells}', 
    ' 
' 
); 

虽然默认实现this.innerHd写入标题,innerHd被定义为this.mainHd.dom.firstChild ,并且如果设置了hideHeaders选项,则this.mainHd被设置为隐藏。所以我希望这个选项也会影响列标题。

编辑:我们在谈论什么版本的ExtJS?我看着the current source,这是3.1我猜。

+0

hideHeader选项仅适用于网格标题。我询问了Grid的列标题 – Madhu 2010-01-06 07:13:07

+0

我用另一种方式更新了我的答案。 – 2010-01-08 08:36:53

4

您可以添加到您的网格的定义:

listeners: { 
    render: function(grid) { 
     grid.getView().el.select('.x-grid3-header').setStyle('display', 'none'); 
    } 
}, 
0

通常你结束当你把你的网格放到一个面板中时想要这个。

对于我的CSS黑客似乎不好,只是这工作:

preventHeaders: true 

查看属性here in the docs.

6

只需添加hideHeaders: true到您的网格。它应该工作