Javascript 从网格的行创建列表的最佳方法是什么
在我的应用程序中,有两个拖放网格 要创建列表,请将行从第一个网格拖动到第二个网格 发送此行列表(第二个网格)以便服务器在另一个网格中显示的最佳方式是什么 我试图同步并设置脏(true),但“Ext.data.Model#setDirty”已被弃用Javascript 从网格的行创建列表的最佳方法是什么,javascript,extjs,grid,extjs5,Javascript,Extjs,Grid,Extjs5,在我的应用程序中,有两个拖放网格 要创建列表,请将行从第一个网格拖动到第二个网格 发送此行列表(第二个网格)以便服务器在另一个网格中显示的最佳方式是什么 我试图同步并设置脏(true),但“Ext.data.Model#setDirty”已被弃用 var grid = this.lookupReference('gridRef'); var store = grid.getStore(); store.each(function(record){ reco
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
????
要在单个
Ext.Ajax.request
中将整个范围的记录从存储区发送到服务器,您可以尝试:
Ext.Ajax.request({
url:'testURL',
jsonData:store.getRange()
});
或者,您可以在记录中有一个特殊字段,其中包含记录是否在列表中。将非持久性布尔字段设置为defaultValue
false
,并将其设置为true。瞧,这张唱片应该是脏的。谢谢你,亚历山大。getRange()工作得很好。但是,我得到了以下错误:uncaughtrangeerror:超过了最大调用堆栈大小。我用我的代码编辑了我的问题。对不起,忘了你必须从记录中提取数据。记录包含指向存储的链接,其中包含指向记录的链接。。。如果将其序列化为一个简单的树,那么它将是无限的。请尝试store.getRange().map(函数(记录){return record.getData()})
。再次感谢。
Ext.Ajax.request({
url:'testURL',
jsonData:store.getRange()
});