В моем приложении есть две сетки перетаскивания.Каков наилучший способ создать список из строк сетки?
Чтобы создать список, перетащите строки с первой на вторую сетку.
Каков наилучший способ отправить этот список строк (вторая сетка) для сервера, чтобы он отображался в другой сетке?
Я пытался синхронизировать и устанавливатьDirty (true), но «Ext.data.Model # setDirty» устарел.
var grid = this.lookupReference('gridRef');
var store = grid.getStore();
store.each(function(record){
record.setDirty(true);
});
store.sync();
Я пытался, но безуспешно:
var grid = this.lookupReference('gridRef');
var store = grid.getStore();
grid.getSelectionModel().selectAll();
var selection = grid.getSelectionModel().getSelection();
var values = [];
for(var i=0; i<selection.length; i++) {
values.push(selection[i].get('order'));
values.push(selection[i].get('item'));
}
var model = Ext.create('app.myModel', values);
console.log(model) //show just one item
????
Отредактировано:
var grid = this.lookupReference('gridRef');
var store = grid.getStore();
var records = store.getRange();
var create = 'create'; //PHP CRUD » case create
Ext.Ajax.request({
url: 'php/crudActionList.php?create',
method: 'POST',
params : create,
jsonData: records,
// jsonData: Ext.encode(records),
// jsonData: Ext.JSON.encode(records),
success: function(conn, response, options, eOpts) {
console.log('Success!');
},
failure: function(conn, response, options, eOpts) {
console.log('failure')
}
});
Спасибо, Александр. getRange() работает хорошо. Однако я получаю следующее сообщение об ошибке: Uncaught RangeError: превышен максимальный размер стека вызовов. Я редактировал свой вопрос с помощью своего кода. – josei
Извините, забыли, что вам нужно извлечь данные из записей. Запись содержит ссылку на хранилище, содержащую ссылку на запись ... если она сериализована как простое дерево, она будет бесконечной. Попробуйте 'store.getRange(). Map (function (record) {return record.getData()})'. – Alexander
Еще раз спасибо Александр. – josei