2012-04-13 2 views
0

私はプロキシとその仕事を使って私のページの中の店に荷物を積んでいるという私の見解に苦しんでいます。しかし、同じデータビューを同じスローではなく、外部スローでロードすると、すぐに機能しません。外部ストアでデータビューのtplをレンダリングするにはどうすればよいですか?

このサンプルでは、​​動作:

Ext.create('Ext.data.Store',{ 

storeId:'employeeStore', 
fields:['id', 'name', 'type','children'], 
data:[ 
    { 
     id : 1, 
     name : "GEO ET 09", 
     type : 1, 
     children: [ 
      { id: 11, parent: 1 ,name: '0820 689 689' }, 
      { id: 12, parent: 1, name: '0820 689 689' }, 
      { id: 13, parent: 1 ,name: '0820 689 689' }, 
      { id: 14, parent: 1, name: '0820 689 689' }, 
     ] 
    }, 
    { 
     id : 2, 
     name : "0800 & 0805", 
     type : 2, 
     children: [ 
      { id: 21, parent: 2, name: '0820 689 689' }, 
      { id: 22, parent: 2, name: '0820 689 689' }, 
      { id: 23, parent: 2, name: '0820 689 689' }, 
     ] 
    }, 
], 

})。

Ext.define( 'Axiastats.view.NumbersChoicePanel'、{ 延びる 'Ext.FormPanel' renderTo 'numbersChoice' 別名: 'widget.NumbersChoicePanel' ID: 'numbersChoiceコンテナを' 、

requires : ['Ext.form.*','Ext.button.*', 'Ext.layout.container.Column', 'Ext.tab.Panel','Axiastats.store.Numbers'], 

baseCls: 'numbersChoice-container', 
cls: 'choice hoverBox round6', 
layout: 'anchor', 
bodyPadding: '0', 
modal : true, 
defaults: { 
    border: false, 
    layout: 'anchor', 
}, 
items : [ 
    { 
     xtype: 'box', 
     autoEl: { 
      tag: 'div', 
      cls: 'arrow' 
     } 
    }, 
    { 
     xtype: 'dataview', 
     id: 'numbers-view', 
     cls: 'cont round4', 
     itemSelector: 'div.categNumbersRow', 
     store: Ext.data.StoreManager.lookup('employeeStore'), 
     //store: 'Axiastats.store.Numbers', 
     tpl: [ 
      '<tpl for=".">', 
       '<div class="close cat0{type} categNumbersRow" id="categNumbers-{id}">', 
        '<div id="theCategNumbers-{id}" class="title">', 
         '<span class="n01">{name}</span>', 
         '<span class="n02">', 
          '<input type="checkbox" id="checkCategNumbers-{id}" name="checkCategNumbers" value={id} checked="yes"/>', 
          '<label for="checkCategNumbers-{id}">La catégorie</label>', 
         '</span>', 
         '<span id="detailCategNumbers-{id}" class="n03">Détail</span>', 
         '<div class="clear"></div>', 
        '</div>', 

        '<div id="allNumbers-{id}" class="allNumbers" style="display:none;">', 
         '<span class="sep first"></span>', 
         '<ul>', 
          '<tpl for="children">', 
           '<li><input type="checkbox" id="numbersRow-{id}" name="numbersRow-{id}" value="{id}" class ="numbersRow"/> <label for="numbersRow-{id}">{name}</label></li>', 
          '</tpl>', 
         '</ul>', 
         '<span class="sep clear"></span>', 
         '<ul class="select">', 
          '<li><input type="checkbox" id="checkAllNumbers-{id}" name="checkAllNumbers-{id}" class="checkAllNumbers" value="{id}" /> <label for="checkAllNumbers-{id}">Sélectionner tout</label></li>', 
          '<li><input type="checkbox" id="checkAllNumbersReset-{id}" name="checkAllNumbersReset-{id}" class="checkAllNumbersReset" value="{id}" /> <label for="checkAllNumbersReset-{id}">Désélectionner</label></li>', 
         '</ul>', 
         '<span class="sep clear"></span>', 
        '</div>', 
       '</div>', 
      '</tpl>' 
     ], 

]、

​​

})。

しかし、私は、このようなファイルに外部の私の店を入れたい場合は:

Ext.define('Axiastats.store.Numbers', { 
extend: 'Ext.data.Store', 
singleton : true, 
autoLoad: true, 
storeId:'employeeStore', 
fields:['id', 'name', 'type','children'], 
data:[ 
    { 
     id : 1, 
     name : "GEO ET 09", 
     type : 1, 
     children: [ 
      { id: 11, parent: 1 ,name: '0820 689 689' }, 
      { id: 12, parent: 1, name: '0820 689 689' }, 
      { id: 13, parent: 1 ,name: '0820 689 689' }, 
      { id: 14, parent: 1, name: '0820 689 689' }, 
     ] 
    }, 
    { 
     id : 2, 
     name : "0800 & 0805", 
     type : 2, 
     children: [ 
      { id: 21, parent: 2, name: '0820 689 689' }, 
      { id: 22, parent: 2, name: '0820 689 689' }, 
      { id: 23, parent: 2, name: '0820 689 689' }, 
     ] 
    }, 
], 

});

そして、私は店を削除:Ext.data.StoreManager.lookup( 'employeeStore')、店舗によって: 'Axiastats.store.Numbers'、

ストアがロードされているが、TPLが、それ

がロードされていません

答えて

0

データビュー用のストアを明示的に作成する必要があります。store: Ext.create('Axiastats.store.Numbers') その後、店舗内のsingleton : true設定を削除します。期待どおりに動作します。

関連する問題