复制一行,然后使用 extJS 将其粘贴到网格中的另一行

问题描述 投票:0回答:1

我显示一个网格,网格中有两行。 我有一个名为“复制”的按钮,当用户单击“复制”按钮时,第一行中的所有数据将被复制,然后粘贴到第二行中。 我是新手,需要指导如何实现此复制功能 非常感谢。

grid copy row paste
1个回答
0
投票

为了实现此目的,您需要从网格存储的第一条记录中复制模型(记录)并将其添加为新记录,并可以选择删除现有的第二条记录。

查看this fiddle,这是代码(现代工具包),如果要替换第二行,请取消注释

store.removeAt(1);
行:

Ext.application({
    name: 'Copy / paste grid row',
    launch: function () {
        var store = Ext.create('Ext.data.Store', {
            fields: ['name', 'phone'],
            data: [{
                name: 'one',
                phone: 123,
            }, {
                name: 'two',
                phone: 456
            }]
        });
        Ext.create({
            xtype: 'panel',
            tbar: [{
                text: 'Copy first row to second row',
                handler: function (button, e) {
                    var copied = store.getAt(0).copy(null);
                    // uncomment this to replace the second record
                    // store.removeAt(1);
                    store.add(copied);
                }
            }],
            items: [{
                xtype: 'grid',
                title: 'Copy and paste grid row',
                store: store,
                columns: [{
                    text: 'name',
                    dataIndex: 'name',
                    flex: 1,
                }, {
                    text: 'phone',
                    dataIndex: 'phone',
                    flex: 1
                }],

            }],
            layout: 'fit',
            fullscreen: true,
            renderTo: Ext.getBody()
        });
    }
});
© www.soinside.com 2019 - 2024. All rights reserved.