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プロパティの両方に渡す必要があります。

ここでの問題は、多数のグリッドを持つ非常に長い構成オブジェクトがあることです。以前は、選択モデルは上記のサンプルに従ってローカルで指定されていました。しかし、ここでは、各選択モデル オブジェクトに変数を割り当て、一意の名前を付け、これらの変数を使用する場所から遠ざける必要があります。非常に不便です。

どういうわけか、選択モデルを 1 か所で指定することは可能ですか? それとも、1 つのプロパティ初期化子でそれを作成し、2 番目の場所でこのオブジェクトを参照するのでしょうか?

4

1 に答える 1

0

グリッドの初期化後に sm を 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() );
于 2012-07-11T23:14:17.547 に答える