На самом деле решение не так сложно (как я).
Предположим, у вас есть модель и вы хотите, чтобы элементы сетки были частью этой модели.
1 Убедитесь, чтомодель имеет прокси типа " ajax " (не остальные)
2 Используйте в этом прокси следующую запись
writer: new Ext.data.JsonWriter({
encode: false,
writeAllFields: true,
listful: true,
root: 'data' //optional
})
3 Выполните итерацию по сетке для создания массива
var itemsArr = [];
myGrid.each(function( record ){
itemsArr.push( record.data );
});
4 Создайте экземпляр модели и свяжите элементы сетки
var model = Ext.ModelManager.create({
Name : 'Deckard Cain',
Address : 'Tristram',
myItems : itemsArr //The model contains this item (since hasMany don't work for nested store writer submit)
}, 'MyModel');
5 Сохраните его (используя экземпляр модели)
model.save();
// This will send to the server an ajax request {"data":{"Name":"Deckard Cain","Address":"Tristram","myItems":[{"gridId":1,"gridItemName":"name2"},{"gridId":2,"gridItemName":"name2"}]}}
Я опубликовалэто решение также по адресу:
http://www.sencha.com/forum/showthread.php?124362-Nested-loading-nested-saving-in-new-data-package