2017-11-21 24 views
2

選択モデルを使用しています。私はいくつかのレコードを選択し、バックエンドに送信します。グリッドをリロードしたら、そのレコードを選択します。だから私はインデックスを持つ配列にそれらのレコードをコピーしています。今私がリロードしているときに、もう一度それを選択したい。 Buiこのエラーが発生しています。グリッド負荷の動的チェックボックス選択

キャッチされない例外TypeError:item.getId私は

store.on('load', function(thistore, records , successful , operation , eOpts){ 
     me.store.loadData(thistore.data.items); 
     var checkRec = me.checkRec; 
     var sm = me.getSelectionModel(); 
     for(var i=0; i<checkRec.length; i++){ 
      sm.select(checkRec[i].index,true); 
     } 
}); 

をしようとしていますどのようなここで機能

ではないいずれかのコードを改善するためにどのように私を提案することができます。ここで

+0

あなたはより具体的にしてみていただけますか? – thakurinbox

+0

@thakurinboxはいグリッドの読み込み中にレコードを選択するのと同じくらい簡単です。私は行の 'record'と' index'を持っています。 (あなたがコードで見ることができるように)。 – David

+0

なぜバインドしないのですか? –

答えて

0

は、私はそれを行うだろうかです:

フィドル作業
Ext.application({ 
    name: 'Fiddle', 

    launch: function() { 
     var store = Ext.create('Ext.data.Store', { 
      fields: ['name', 'age'], 
      listeners: { 
       load: function (store, records, successful, operation, eOpts) { 
        for(var i=0;i<store.getCount();i++) { 
         store.getAt(i).set('checked', true); 
        } 
       } 
      }, 
      proxy: { 
       type: 'ajax', 
       url: 'data.json', 
       reader: { 
        type: 'json' 
       } 
      }, 
      autoLoad: true 
     }) 

     Ext.Viewport.add({ 
      xtype: 'panel', 
      title: 'POC', 
      layout: 'fit', 
      items: [{ 
       xtype: 'grid', 
       id: 'gridid', 
       store: store, 
       selModel: { 
        selType: 'rowmodel', 
        mode: 'SIMPLE' 
       }, 
       columns: [{ 
        xtype: 'checkcolumn', 
        dataIndex: 'checked' 
       }, { 
        text: 'Name', 
        dataIndex: 'name', 
        flex: 1 
       }, { 
        text: 'Age', 
        dataIndex: 'age', 
        flex: 1 
       }] 
      }] 
     }) 
    } 
}); 

https://fiddle.sencha.com/#view/editor&fiddle/29ui

関連する問題