0

我们最近从 ExtJS 3.2 切换到 3.4,发现带有复选框选择模型的网格停止工作。事实证明,这样的配置不再被允许:

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属性。

现在的问题是我们有一个非常长的配置对象,其中包含大量网格。以前的选择模型是根据上面的示例在本地指定的。但是现在我们必须为每个选择模型对象分配一个变量,为它创造一个唯一的名字,并且让这些变量远离它们被使用的地方。这是非常不方便的。

是否有可能以某种方式在一个地方指定选择模型?或者也许在一个属性初始化器中创建它并在第二个位置引用这个对象?

4

1 回答 1

0

您可以在网格初始化后将 sm 添加到 cm。

IE:

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() );
于 2012-07-11T23:14:17.547 回答