Вы можете использовать встроенную функцию Store для каждой функции, чтобы проверить цену всех записей и рассчитать их сумму.Я публикую вам простой пример, который покажет вам, как это сделать:
Ext.setup({
onReady: function() {
//Model registration
Ext.regModel('Item', {
fields: [
{name: 'title', type: 'string'},
{name: 'prijs', type: 'int'}
]
});
//Registration of the Store
Ext.regStore('MyStore', {
model: 'Item',
data: [
{title: 'Item 1', prijs: 100},
{title: 'Item 2', prijs: 200},
{title: 'Item 3', prijs: 700},
],
autoLoad: true
});
//Definition of the main list
var list = new Ext.List({
itemTpl : '{title} - {prijs}',
store: 'MyStore'
});
//Definition of the container panel
var panel = new Ext.Panel({
fullscreen: true,
items: list,
dockedItems: [{
xtype: 'toolbar',
itemId: 'mainToolbar',
items: [{
xtype: 'button',
ui: 'action',
text: 'Sum',
handler: function(){
//Get the Store
var store = list.getStore();
//Declaring a sum variable
var sum = 0;
//Calculate the sum
store.each(function(item){
sum += item.get('prijs');
},this);
//Show the sum value
panel.getDockedComponent('mainToolbar').setTitle('The SUM is: ' + sum);
}
}]
}]
});
}
});
Как вы можете видеть, функция store.each выполняет итерацию между каждой записью, поэтому вы можете получитьполе "prijs" и суммируйте его с вашей переменной "sum".После этого вы можете взять закрепленную панель инструментов и установить значение суммы в качестве заголовка.
Надеюсь, это поможет.