Сделайте одно, создайте магазин с полями "size", "report_data" и "position".
var store = new Ext.data.JsonStore({
id : 'panel_store',
fields : ['size', 'position', 'report_data']
});
Создание шаблона для каждого отчета (здесь можно добавить некоторые другие данные):
var template = new Ext.XTemplate(
'<div class="reports_container"><tpl for=".">',
'<div class="report">{report_data}</div>','</tpl></div>'
);
template.compile();
Создание просмотра данных с шаблоном и сохранение:
var dataView = new Ext.DataView({
itemSelector : 'div.report', // Required
style : 'overflow:auto',
multiSelect : true,
store : store,
tpl : template
});
Добавьте отображение данных на главной панели:
var mainPanel = new Ext.Panel({
id : 'main_panel',
items : dataView
});
Каждый раз, когда вы генерируете новый отчет, создайте новую Ext.Record:
var ReportRecord = Ext.data.Record.create([
{ name: 'size' },
{ name: 'position' },
{ name: 'record_type' }
]);
var newRec = new ReportRecord({
size : '100',
position : 'some position',
report_data : 'some data'
});
store.add(newRec);
store.on('add', function() {
dataView.refresh();
}, this);
Это то, что вы хотели?Однако этот код нигде не тестируется.