2012-05-29 82 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論壇上提問。 –