我显示一个网格,网格中有两行。 我有一个名为“复制”的按钮,当用户单击“复制”按钮时,第一行中的所有数据将被复制,然后粘贴到第二行中。 我是新手,需要指导如何实现此复制功能 非常感谢。
为了实现此目的,您需要从网格存储的第一条记录中复制模型(记录)并将其添加为新记录,并可以选择删除现有的第二条记录。
查看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()
});
}
});