做一件事,创建一个包含“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);
这是你想要的吗?但是,此代码未在任何地方进行测试。