Хитрость в том, что читателю магазина нужно назначить idProperty, или все строки считаются новыми.Вот конструкция, которая работает для меня:
Ext.define('Sites', {
extend: 'Ext.data.Model',
fields: [
{name: 'inCphr', type: 'boolean'},
{name: 'department', type: 'string'},
{name: 'commune', type: 'string'},
{name: 'clinic', type: 'string'},
{name: 'sitecode', type: 'int'},
{name: 'dbsite', type: 'int'},
{name: 'ipAddress', type: 'string'},
{name: 'network', type: 'string'},
{name: 'lastChanged', type: 'date'}
]
});
var store = Ext.create('Ext.data.Store', {
model: 'Sites',
proxy: {
type: 'ajax',
url : 'getHaitiSites.php?task=get',
reader:{
type:'json',
root: 'results',
idProperty: 'sitecode'
}
}
});
Если вы можете получить сетку для отображения «грязных» элементов, то store.getUpdatedRecords (). Length будет> 0. Я видел один комментарий, который предложилэто будет работать только с json reader, но я не понимаю, почему это не будет работать и для других структур данных.