2

フォームのロードイベント内からグリッド値を読み取ろうとしています。ordersStore.load()はグリッドにデータをロードしますが、getAtを使用して返されたレコードを取得しません。これを行うためのより良い方法はありますか?ありがとう。

client_form.on({
   actioncomplete: function(form, action){
      if(action.type === 'load'){
      var suite_no = action.result.data.suite_no;
      ordersStore.baseParams.suite_no = suite_no;
      ordersStore.load();
      var orderRec = Ext.data.Record.create(['order_id', 'suite_no', 'merchant', 'track_no', 'invoice_no', {name:'total',type: 'float'},  {name:'weight',type: 'float'}, 'status']);
      var orderRec = ordersStore.getAt(0);
      Ext.Msg.alert('rec=', orderRec);
         }
    }
});                                                 
4

1 に答える 1

2

問題は、ordersStore.load() が非同期であることです (ドキュメントはそう言っています)。データは後で到着し、すぐには利用できません (探している場所)。

「load」イベント ハンドラを追加する必要があります。その関数では、その時点でロードされるため、データを調べることができます。

于 2011-06-21T18:13:17.740 に答える