2012-05-29 47 views
0

我是Ext JS 4的新手,我创建了一个固定列的面板。似乎有某种错误(如在某个论坛上阅读),如果我修复了一列,则间隔符(xtype:tbspacer)会自动插入其顶部,破坏表的对齐方式(如果它只是一个问题坏配置,请让我知道)。我想要做的是删除该间隔。Ext JS网格面板间隔删除

为了做到这一点,我必须选择它,但它没有“静态”ID,这意味着如果我对视图进行了任何修改,spacer将获得另一个ID,所以我需要一个方法选择它而不使用id。我试过这样做:

list.query('.tbspacer')[0].setHeight(0); 

其中list是面板。但它似乎并不奏效。 list.query()方法返回一个空数组。尝试选择文本字段时遇到同样的问题。

我错过了什么,还是只是另一个错误?

这是我如何创建锁定柱(没有什么特别):

{ 
    header: headerName, 
    dataIndex: i, 
    locked: true 
} 

编辑这里同时截图:

enter image description here

编辑这间隔不应该首先存在,它在该版本的框架中(可能仍然是?)。看到我的其他问题here。我将在这里标记唯一的答案,因为它似乎解决了这个问题中提到的问题。

+0

你能提供你的代码吗?而且可能是截图或虚弱,所以我们可以看到究竟发生了什么。 – sha

+0

@sha我用一些代码编辑了我的问题(我不知道我应该从中选择什么)。至于截图,我无法做出一个质量好的。问题是固定列中的所有数据都在其他列下方一行。 – Dragos

+0

什么是“锁定”?我无法在ExtJs文档中找到它。如果您需要禁用调整列大小 - 使用'resizable:false' – sha

回答

1

首先,你正在做一个错误的查询。它应该只是tbspacer,没有点。其次,而不是setHeight(0),为什么不只是destroy呢?

list.query('tbspacer')[0].destroy(); 
+0

您是否碰巧知道它为什么会被创建?它是4.1错误吗? – Dragos

+0

不知道。但是Ext JS中有很多bug,所以这可能就是其中之一。另一方面,如果'locked'是一个私有API,那么如果使用它,则不能抱怨“错误”。你最好在Sencha论坛上提问。 –