我对Ext JS 4很新,我创建了一个带有固定列的Panel。似乎存在某种错误(如某些论坛上所述),如果我修复了一列,则会在其顶部自动插入 spacer (xtype:tbspacer),从而破坏表格的对齐方式(如果这只是配置错误的问题,请让我知道)。我想做的是删除那个垫片。
为了做到这一点,我必须选择它,但它没有“静态”id,这意味着如果我对视图进行任何修改,则spacer会获得另一个id,所以我需要一个方法来选择它而不使用id。我尝试过这样的事情:
list.query('.tbspacer')[0].setHeight(0);
其中list
是面板。但它似乎没有用。 list.query()
方法返回一个空数组。我在尝试选择 textfield 时遇到了同样的问题。
我错过了什么,还是只是另一个错误?
这是我创建锁定列的方式(没什么特别的):
{
header: headerName,
dataIndex: i,
locked: true
}
编辑以下是截图:
编辑这个间隔不应该首先存在,它可能(可能仍然是?)在该版本的框架中。请参阅我的其他问题here。我将这里唯一的答案标记为已被接受,因为它似乎可以解决此问题中提到的问题。
答案 0 :(得分:1)
首先,您正在进行错误的查询。它应该只是tbspacer
,没有点。第二,为什么不只是setHeight(0)
而不是destroy
呢?
list.query('tbspacer')[0].destroy();