2010-08-26 5 views
1

Итак, у меня есть хранилище данных в моем коде, которое я загружаю в функцию. В этом магазине я хочу использовать each method для добавления каждой записи в тело панели в определенном формате.«каждый» метод в хранилище данных extjs

Что я пытаюсь выяснить, как использовать этот «каждый» метод. Кто-нибудь когда-либо должен был использовать его раньше? Я относительно новичок в функциях и программировании в целом, поэтому я пытаюсь выяснить, что «fn» и «scope» относятся к моему собственному коду.

Любая помощь была бы удивительной, если бы кто-либо использовал этот метод в инфраструктуре ExtJS раньше.

ответ

1

Похоже, вы хотите получить Ext.DataView.

DataView использует шаблон или XTemplate для создания рендеринга данных в магазине.

Таким образом, вы создаете настроенный файл данных, включая ссылку на свой магазин, и используемый шаблон, и добавляете этот DataView на свою панель.

4

Используйте Dataview для вашего случая. Добавьте хранилище и XTemplate в свой dataview и добавьте этот dataview в качестве элемента в свою панель. Это будет примерно так:

this.store = new Ext.data.JsonStore({ 
      url : 'myproxy.php', 
      baseParams : { 
       action : 'get_basket_files' 
      }, 
      root : 'rows', 
      id : 'filename', 
      fields : ['filename', 'filepath', 'filesize', 'fileclass'] 
     }); 

this.filesTemplate = new Ext.XTemplate(
     '<div class="files_container"><tpl for=".">', 
     '<div id="{filename}" class="basket-fileblock"><div class="{fileclass}"></div>', 
'<div class="filetext">{filename}</div></div> ','</tpl></div>'); 

this.filesTemplate.compile(); 

this.filesDataView = new Ext.DataView({ 
      itemSelector : 'div.basket-fileblock', //Required 
      style : 'overflow:auto', 
      multiSelect : true, 
      store : this.store, 
      tpl : this.filesTemplate 
     }); 

var panel = new Ext.Panel({ 
      layout : 'fit', 
      items : [this.filesDataView] 
     }); 

Здесь XTemplate - это шаблон HTML каждого из элементов. Взгляните на документацию ExtJS, в которой приведен ряд примеров для XTemplate.

И для примера, ExtJS каждая функция может быть использована следующим образом:

Пусть массив элементов является myItems. Таким образом,

Ext.each(myItems, function(eachItem){ 
    //Do whatever you want to do with eachItem 
}, this); 
+0

+1 Отличный ответ. – timdev