2012-07-11 133 views
0

我試圖在Web應用程序中插入帶有鎖定列的數據網格。帶鎖定列的網格不顯示

如果我顯示沒有鎖定列的網格,一切運行良好。當我鎖定列時,網格被創建,但它非常小(只是一個很小的正方形,使它基本不可見)。

爲什麼會發生這種情況,我該如何解決?

以下是我有:

for (var i = 0; i < this.fields.length; i++) { 
    var currentField = this.fields[i]; 
    fields.push(currentField.columnName); 
    columns.push({ 
     header: currentField.name, 
     dataIndex: currentField.columnName, 
     hidden: i >= 4, 
     locked: i == 1 
    }); 
} 
Ext.create('Ext.data.Store', { 
    storeId: 'resultsStore', 
    fields: fields, 
    data: results 
}); 
var grid = Ext.create('Ext.grid.Panel', { 
    store: "resultsStore", 
    columns: columns, 
    title: 'Results', 
    renderTo: "actualResultsContainer", 
    height: 250, 
    width: 500, 
    enableLocking: true, 
}); 

編輯如果我試圖重新創造一切(全部重複動作從上述渲染之後),網格被創建,並從這個角度上,它運行正好。我錯過了什麼?

+0

如果您創建商店並將其保存爲變量,會發生什麼情況... var store = Ext.create('Ext.data.Store',{... var grid = Ext.create('Ext。 grid.Panel',{ store:store, 然後移除enableLocking?網格是否顯示?任何錯誤? – 2012-07-11 11:37:29

+0

夫婦的事情:'enableLocking'不需要被指定,如果你在'locked:true'中列的定義,但我不確定 - 但我認爲你只能鎖定第一列,看起來像你試圖鎖定第二列,否? – sha 2012-07-11 11:46:52

+0

@JohnMoses我試過你說的,但什麼也沒發生。同樣的問題 – Dragos 2012-07-11 11:59:18

回答

0

它應該按照您所寫的方式工作。檢查您正在渲染網格的div是否及時創建。

+0

我仍然覺得很奇怪,只有當我鎖定列時,它才真正找到div。如果是這種情況,那麼即使沒有鎖定的列,也應該發生問題(我希望我的解釋足夠清楚:D)。無論如何,它似乎現在已經修復,雖然它可能不是一個好主意,但我會保持原樣。 – Dragos 2012-07-11 13:58:57