2017-02-01 4 views
1

私は3000レコードを持つストアを持っています。私のpageSizeは250です。レコードの1つから一意の値を持っています(product_id = 2333)このレコードはまだロードされていないので、store.findRecord("product_id", product_id)はnullを返します。Extjs 4リモート・ストアからまだロードされていないレコードのインデックスを取得する

私の質問は、インデックスを取得した後に正しいページをロードできるように、まだロードされていないレコードのインデックスを取得する方法です。

答えて

0

あなたは店のonloadの方法を使用する必要がありますあなたはそれが存在しない場合、レコードを見つけることができません

store.on('load',function(component,records){ 
    //here all the records are loaded, so: 
    component.findRecord('prop',value)//will return your record 
    //here you can load the page you need 
},this,{single:true}); 

を、唯一の方法は、ストアがロードされている刚性待つことです。

プロパティとしてsingle:trueが渡された場合、この関数はロードリスナーに設定するたびに1回だけ実行されることを示しています。

追加したすべてのリスナーがストアの負荷で実行されないようにすると、注意してください。

、あなたは何をするのに最適な方法をしたい場合は、その:

view.mask('loading the page...'); 

store.on('load',function(component,records){ 
     component.findRecord('prop',value)//will return your record 
     //here you can load the page you need 
     page.load(); //simply example 
     view.unmask(); 
},this,{single:true}); 
store.load(); 

または

view.mask('loading the page...'); 

    store.load(function(records){ 
      store.findRecord('prop',value)//will return your record 
      //here you can load the page you need 
      page.load(); //simply example 
      view.unmask(); 
    }); 
関連する問題