现在我有 2 个网格面板。我想使用 getselectionmodel() 选择第一个网格的一些记录,所选记录将加载到第二个网格并重新创建一个新网格。
有什么方法可以将选定的记录加载到第二个网格存储中?
我正在使用 extjs3
现在我有 2 个网格面板。我想使用 getselectionmodel() 选择第一个网格的一些记录,所选记录将加载到第二个网格并重新创建一个新网格。
有什么方法可以将选定的记录加载到第二个网格存储中?
我正在使用 extjs3
你可以调用[[你的第一个网格]].getSelectionModel().getSelections(),它会返回一个记录数组
那么你需要将这个记录数组转换为第二个数组,我们称之为数据,第二个存储的读取器可以读取。
所以假设你的第二个商店是 Ext.data.ArrayStore
var store2 = new Ext.data.ArrayStore({
fields: [ { name: 'field1' }, { name: 'field2' } ]
});
你的转换功能将是
function convert(records){
var record;
var data = [];
for (var i = 0; i < records.length; i++) {
record = records[i];
data.push([record.get('your field'), record.get('another field')]);
}
return data;
}
然后在第二个网格上,您可以调用 .getStore().loadData(data)