«каждый» метод в хранилище данных extjs - PullRequest
1 голос
/ 26 августа 2010

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

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

Ответы [ 2 ]

4 голосов
/ 26 августа 2010

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

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);
1 голос
/ 26 августа 2010

Звучит так, как будто вы хотите Ext.DataView .

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

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

...