2012-05-31 59 views
0

我們最近從ExtJS 3.2切換到3.4,發現帶複選框選擇模型的網格停止工作。事實證明,這樣的配置是不允許任何更多:如何避免在ExtJS網格中重複選擇模型規範?

var gridConfig = { 
    xtype: 'grid',    
    store: myStore, 
    columns:[ 
    new Ext.grid.CheckboxSelectionModel(), 
    { 
    id: 'Name', 
    header: 'Inland Carrier', 
    dataIndex: 'Name' 
    }], 
    sm: new Ext.grid.CheckboxSelectionModel({ 
    checkOnly: true 
    }) 
}; 

相反的選擇模型對象必須創建一次,然後傳遞既column收集和sm財產。

現在的問題是,我們有一個很長的配置對象與衆多的網格。以前的選擇模型是根據上面的示例在本地指定的。但是現在我們必須爲每個選擇模型對象分配一個變量,爲它創建唯一的名稱,並使這些變量遠離它們的使用位置。這非常不方便。

是否有可能以某種方式在一個地方指定選擇模型?或者,也許要在一個屬性初始值設定項中創建它,並在第二個位置引用此對象?

回答

0

您可以在網格初始化後將cm添加到cm。

即:

var gridConfig = { 
    xtype: 'grid',    
    store: myStore, 
    columns:[{ 
    id: 'Name', 
    header: 'Inland Carrier', 
    dataIndex: 'Name' 
    }], 
    sm: new Ext.grid.CheckboxSelectionModel({ 
    checkOnly: true 
    }) 
}; 
var grid = new Ext.grid.GridPanel(gridConfig); 
grid.getColumnModel().config.unshift(grid.getSelectionModel());