在特定位置复制一行
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);
对于网格,我想复制选定的行。
然后我想在紧跟所选行之后的网格位置插入该行的副本。
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);