extjs 从第一个网格中选择记录并将所选记录复制到第二个网格

Posted

技术标签:

【中文标题】extjs 从第一个网格中选择记录并将所选记录复制到第二个网格【英文标题】:extjs select record from first grid and copy the selected to second grid 【发布时间】:2013-10-25 15:36:27 【问题描述】:

现在我有 2 个网格面板。我想使用getselectionmodel() 选择第一个网格的一些记录,然后将选定的记录加载到第二个网格并重新创建一个新网格。

有什么方法可以将选定的记录加载到第二个网格存储中?

我正在使用 extjs3

【问题讨论】:

【参考方案1】:

你可以调用[[你的第一个网格]].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)

【讨论】:

非常感谢。很有帮助

以上是关于extjs 从第一个网格中选择记录并将所选记录复制到第二个网格的主要内容,如果未能解决你的问题,请参考以下文章

ExtJs 4 - 将记录从存储复制到树存储(网格到树网格)

ExtJS 2.3/3.x 网格存储

Extjs:如何将存储记录用作网格的存储

ExtJs双击行并将记录传递到输入字段中的另一个窗口

如何从 EXTJS 中的委托事件中获取记录?

在 ExtJS 中突出显示/选择网格行