2012-03-23 11 views
0

私は、ストアからデータを取得するピッカーに「空の」値を挿入する方法を探しています。値は、ストアから返される他の値の前に追加する必要があります。Sencha Touchのピッカーに値を挿入する方法は?

Ext.define('UK.store.Locations', { 
    extend: 'Ext.data.Store', 

    requires: [ 
     'Ext.data.proxy.JsonP' 
    ], 

    config: { 
     model: 'UK.model.Location', 
     autoLoad: true, 

     proxy: { 
      type: 'jsonp', 
      limitParam: false, 
      startParam: false, 
      url: 'http://my.url.com/locations.php', 
      reader: { 
       type: 'json', 
       rootProperty: 'location' 
      } 
     } 
    }, 

    getRange : function(startIndex, endIndex) { 
     var records = this.callParent(startIndex, endIndex); 
     var empty = Ext.create('UK.model.Location', 'All'); 
     records.unshift(empty); 
     return records; 
    } 

}); 

しかし、値は常にピッカーデータの最後に表示されます。おそらく、いくつかのピッカーメソッドをオーバーライドすることで、他の方法がありますか?

答えて

0

データストアのdata設定を使用し、1つの空のレコードをアレイに追加します。したがって、このデータは既にストアに追加され、次のセットが追加されます。

setData()ストアの機能を使用して1つの追加レコードを追加することもできます。そして、オートローディングの代わりにストアをロードします。

+0

残念ながら、あなたの提案通りには機能しません。ストアにdata:プロパティを設定しただけでは、常に上書きされます。 setData関数をオーバーライドすることは、ピッカーによって呼び出されないため機能しません。ストアのロードメソッドを上書きしようとしましたが、ストアのgetData()メソッドから返されたデータコレクションに値を挿入できませんでした.. –

+0

次にAjaxリクエストを使用してデータを取得し、setData関数を使用してロードしますデータ。この方法で最初に空のデータを追加してから他のデータを設定することができます。 – Swar

+0

これはうまくいくかもしれませんが、そのような単純な作業は簡単にはできません。 –

関連する問題