Javascript 在特定位置复制一行

Javascript 在特定位置复制一行,javascript,extjs,extjs5,Javascript,Extjs,Extjs5,对于网格,我希望复制选定的行 然后,我想在选定行之后的网格位置插入该行的副本 小提琴: 我编辑了fiddle with solution这取决于变量命名。名为record的变量实际上就是副本。因此,当您针对存储搜索记录时,您的行索引变量返回索引-1,因此在末尾插入(可能是存储API的默认行为) 以下更改将得到您想要的: var record = grid.getSelectionModel().getSelection()[0]; var copy = record.copy(null); ..

对于网格,我希望复制选定的行

然后,我想在选定行之后的网格位置插入该行的副本

小提琴:


我编辑了fiddle with solution

这取决于变量命名。名为
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);

这取决于变量命名。名为
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);

您正在尝试获取复制记录的索引。获取记录的索引,然后复制它。谢谢Evan。正是这个细节造成了问题。现在它可以正常工作了。您正在尝试获取复制记录的索引。获取记录的索引,然后复制它。谢谢Evan。正是这个细节造成了问题。现在它可以正常工作了。谢谢尼尔森,埃文让我注意这个细节。感谢您对代码和解释的帮助。感谢Nelson,Evan提醒我注意这个细节。感谢您对代码和解释的帮助。