在 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]);
}
}
}
);
}
我在一个页面上设置了多个 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]);
}
}
}
);
}