День добрый. Подвис я со store в ExtJS4. Наваял такой код
Ext.regModel('Columns', {
fields: ['Name', 'Description', 'RefObjectControllerName'],
belongsTo: 'Configuration'
});
Ext.regModel('Groups', {
fields: ['Name', 'Order', 'OrderDirection'],
belongsTo: 'Configuration'
});
Ext.regModel('Configuration', {
fields:
[
{name:'GridName',type:'string'},
{name:'Columns', type:'Columns'},
{name:'Groups', type:'Groups'}
],
hasMany:
[
{ model: 'Groups', name: 'groups' },
{ model: 'Columns', name: 'columns' }
]
});
var store = new Ext.data.Store(
{
model: 'Configuration',
proxy:
{
type: 'ajax',
url: '/Home/GetConfiguration'
}
});
store.load();
ExtJS4 юзаю в связке с ASP.NET MVC 3, запрос делает, результат возвращает, вроде всё хорошо. Но не могу тупо обойти store.
Накурился мануалов.
(
Тут) пишут что надо так:
store.load({
callback: function() {
//the user that was loaded
var user = store.first();
//iterate over the Orders for each User
user.columns().each(function(col)
{
alert('Ураааа!!!! Бегает по колонкам!!! Заработала зараза!!! ');
}
}
});
на store.first() чесно получает первый элемент, но дальше всё плохо - этот элемент пустой. То есть store.first().columns().data.length почему-то равно нулю.
Однако когда ковыряюсь в stor-е Firebug-ом, то нахожу всё, что было отправлено с сервера (массив, находящийся store.first().data.Columns содержит всё, что нужно)
Думал может связки в store неправильно заюзал, перепробовал всё, что смог придумать. Как эту заразу победить, кто знает?
Спасибо.