在特定位置复制一行

Duplicate a row in a specific position

对于网格,我想复制选定的行。

然后我想在紧跟所选行之后的网格位置插入该行的副本。

FIDDLE: https://fiddle.sencha.com/#fiddle/1hc6

var grid = this.up('grid');
var record = grid.getSelectionModel().getSelection()[0].copy(null);

var store = grid.getStore();
var row = store.indexOf(record);

store.insert(row, record); //store.insert(row + 1, record);?????

我用解决方案

编辑了fiddle

这取决于变量命名。您名为 record 的变量实际上是副本。因此,当您针对商店搜索记录时,您的行索引变量返回索引 -1,因此被插入到最后(可能是商店的默认行为 API)。

以下更改将得到您想要的:

var record = grid.getSelectionModel().getSelection()[0];
var copy = record.copy(null);
...
var row = store.indexOf(record); // this used to be -1
store.insert(row, copy);