从网格的行创建列表的最佳方法是什么
What is the best way to create a list from the rows of a grid
在我的应用程序中有两个拖放网格。
要创建列表,请将行从第一个网格拖到第二个网格。
为服务器发送此行列表(第二个网格)然后显示在另一个网格中的最佳方式是什么?
我尝试同步和 setDirty (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')
}
});
要在单个 Ext.Ajax.request
中将整个范围的记录从商店发送到服务器,您可以尝试:
Ext.Ajax.request({
url:'testURL',
jsonData:store.getRange()
});
或者您可以在记录中有一个特殊字段,其中包含记录是否在列表中。将非持久布尔字段设置为 defaultValue false
,然后 onDrop
将其设置为 true。瞧,记录应该是脏的。
在我的应用程序中有两个拖放网格。
要创建列表,请将行从第一个网格拖到第二个网格。
为服务器发送此行列表(第二个网格)然后显示在另一个网格中的最佳方式是什么?
我尝试同步和 setDirty (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')
}
});
要在单个 Ext.Ajax.request
中将整个范围的记录从商店发送到服务器,您可以尝试:
Ext.Ajax.request({
url:'testURL',
jsonData:store.getRange()
});
或者您可以在记录中有一个特殊字段,其中包含记录是否在列表中。将非持久布尔字段设置为 defaultValue false
,然后 onDrop
将其设置为 true。瞧,记录应该是脏的。