extjs решетка для публикации данных - PullRequest
0 голосов
/ 08 апреля 2011

Я пытаюсь опубликовать данные Ext JS Grid в базу данных ... Есть ли какое-нибудь руководство, которое поможет мне разместить всю сетку на сервере ??Пожалуйста, помогите ..

Ответы [ 2 ]

2 голосов
/ 08 апреля 2011

Я бы предложил перебрать хранилище для вашей сетки и добавить данные в массив или объект, а затем опубликовать его с помощью ajax.

Вы можете получить такие данные:

var resultArray = [];

for (var i=0; i < yourGridObject.store.data.items.length; i++)
{
     resultArray.push(this.store.data.items[i].data.columnName1);
}

Тогда пост с ajax

var conn = new Ext.data.Connection();
conn.request({
    url: 'foo.php',    
    method: 'POST',
    success: successCallBack,   
    failure: failureCallback,
    params: { gridData: resultArray.join(',') }  
});
0 голосов
/ 14 июня 2011

На самом деле решение не так сложно (как я).

Предположим, у вас есть модель и вы хотите, чтобы элементы сетки были частью этой модели.

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

...