Ag grid Ag Grid-将Excel数据粘贴到网格中-追加行

Ag grid Ag Grid-将Excel数据粘贴到网格中-追加行,ag-grid,Ag Grid,将剪贴板/Excel数据粘贴到AG网格中时,如何获取要附加到当前行的数据 如果我的表当前只有一行,而我正试图将10行粘贴到表中,那么Ag Grid只会覆盖这一行,而不会追加额外的9行。我是缺少网格选项还是不可能?我有同样的问题。我最初使用粘贴事件侦听器,根据可用空间和剪贴板数据长度之间的差异,向网格中添加许多行。但现在网格只会添加行,而不会完成粘贴。要获得所需内容,请执行以下步骤: 1) 添加粘贴事件侦听器: mounted () { window.addEventListener('p

将剪贴板/Excel数据粘贴到AG网格中时,如何获取要附加到当前行的数据


如果我的表当前只有一行,而我正试图将10行粘贴到表中,那么Ag Grid只会覆盖这一行,而不会追加额外的9行。我是缺少网格选项还是不可能?我有同样的问题。我最初使用粘贴事件侦听器,根据可用空间和剪贴板数据长度之间的差异,向网格中添加许多行。但现在网格只会添加行,而不会完成粘贴。

要获得所需内容,请执行以下步骤:

1) 添加粘贴事件侦听器:

mounted () {
    window.addEventListener('paste', this.insertNewRowsBeforePaste);
}
2) 创建从剪贴板检索数据并在网格中创建新行的函数:

insertNewRowsBeforePaste(event){
    var self = this;

    // gets data from clipboard and converts it to an array (1 array element for each line)
    var clipboardData = event.clipboardData || window.clipboardData;
    var pastedData = clipboardData.getData('Text');
    var dataArray = self.dataToArray(pastedData);

    // First row is already in the grid and dataToArray returns an empty row at the end of array (maybe you want to validate that it is actually empty)
    for (var i = 1; i < dataArray.length-1; i++) {
        self.addEmptyRow(i);
    }
}
4) 最后,要在网格中添加新的空行,请使用以下功能:

addEmptyRow(rowIndex) {
    var newItem = {};
    this.gridOptions.api.updateRowData({add: [newItem], addIndex: rowIndex});
}
基本上,这段代码的作用是在网格的开头插入空行,并让ag grid将数据粘贴到这些行中。要使其工作,粘贴代码的行必须是网格中的第一行。它使用的是ag-grid()中的updateRowData


如果需要其他内容,您可能需要进行一些调整。

请添加ag grid文档链接以供参考。
addEmptyRow(rowIndex) {
    var newItem = {};
    this.gridOptions.api.updateRowData({add: [newItem], addIndex: rowIndex});
}