在 Infragistics 点燃网格中将多个网格导出为单个 excel

Exporting multiple grids to single excel in Infragistics ignite grid

我在一个页面上设置了多个 Ignite UI 网格。该网格具有 excel 导出功能,但它仅适用于当前网格。如何在单个事件中导出所有网格? 要捕获或修改的任何网格事件。 我使用的是 2016 v2 版本

研究多个选项后,找到了一个解决方案,它对网格进行顺序遍历 collection 并将每个选项附加到主工作簿。

对于您选择的第一个网格的 exportEnding 方法,调用一个为第二个网格执行导出(假设)的函数。这可以根据需要对尽可能多的网格进行排序。假设每个这样的函数都被命名为 ExportGrid,例如 exportSecondGrid.

grid1 的

    exportEnding :function(sender, args) {
    exportSecondGrid(args.workbook);
    return false; 
    }

使用网格 2 的 headerExporting 事件将当前工作表附加到主工作簿。它的 exportEnding 将 header 中生成的 collection 导出到 手动 设置的工作表

现在网格2的事件如下

var headerArr = [];
$.ig.GridExcelExporter.exportGrid($("#gridSecond"), {
    fileName: fileNamePassedAsParameter,
    worksheetName: Sheet2NamePassedAsParameter
},
{ 
headerCellExporting: function(sender, args) {
    // We will save all the headers coming to our array for retrieval later on
    headerArr.push(args.headerText);
    if (args.columnIndex === 0) { 
        sender._workbook = workbook;
        sender._workbook.worksheets().add( sender._worksheet.name());
        sender._worksheet = sender._workbook.worksheets(1);
    } 
}, 
exportEnding: function(sender, args) { 
    // Now use the array of headers to be updated
    var row = sender._worksheet.rows(0);
    for(var ind=0; ind < headerArr.length; ind++) {
        row.setCellValue(ind, headerArr[ind]); 
    }
}
}
);
}