我在页面上设置了多个Ignite UI网格。网格具有excel导出功能,但它仅适用于当前网格。如何在单个事件中导出所有网格? 要捕获或修改的任何网格事件。 我正在使用2016 v2版本
答案 0 :(得分:4)
在研究了多个选项之后,找到了一个解决方案,它按顺序遍历网格集并将每个选项附加到主工作簿。
对于您选择的第一个网格的exportEnding方法,调用为第二个网格导出(假设为)的函数。这可以根据需要对多个网格进行排序。假设每个这样的函数都被命名为ExportGrid,例如exportSecondGrid。
grid1的
exportEnding :function(sender, args) {
exportSecondGrid(args.workbook);
return false;
}
使用网格 2 的headerExporting事件将当前工作表附加到主工作簿。其exportEnding将标题导出中生成的标题集合转换为为工作表设置的手动
现在网格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]);
}
}
}
);
}