ExtJS4 Обход store
День добрый. Подвис я со 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 неправильно заюзал, перепробовал всё, что смог придумать. Как эту заразу победить, кто знает? Спасибо. |
store.load({ callback: function() { store.each(function(rec) { console.log(rec); }); } }); Может все же так, если смотреть на документацию |
Это тоже самое только в моем случае, корневой элемент выгребается не через store.each(), а через store.first()
Попробовал, как у тебя (мало ли), тот же результат. Корневой элемент я получаю. Но у него должно быть две коллекции Columns и Groups, которые по идее должны возвращаться методами columns() и groups(). Сами методы создаются, но вот побегать по коллекциям, которые они возвращают как раз и не получается, потому что коллекции пустые. |
А указанный пример по ссылке пашет, проверяли?
|
Пeревод доков про Store и Model
|
Часовой пояс GMT +3, время: 00:39. |