jos*_*sei 1 javascript extjs extjs5
使用网格,我想复制选定的一行。
然后我想在紧跟所选行的网格位置插入该行的副本。
小提琴: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);?????
Run Code Online (Sandbox Code Playgroud)
我编辑了解决方案
这归结为变量命名。您调用的变量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);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
181 次 |
| 最近记录: |