Вам нужно будет продолжить .then
, вложив еще два уровня для дополнительных сеток.* * * * * * * * * * * * * *} * * * * * * * * * * * * * * * * * * * * * * *. Для того, чтобы выполнить экспорт, указывается метод .done
для самого глубокого затем.
<p>Grid 1</p><div id="grid1"></div>
<p>Grid 2</p><div id="grid2"></div>
<p>Grid 3</p><div id="grid3"></div>
<p>Grid 4</p><div id="grid4"></div>
<p><button id="export">Export</button></p>
<p id="log"></p>
<script>
data1 = [ {a:1,b:2,c:3}, {a:4,b:5,c:6}, {a:4,b:5,c:6} ];
data2 = [ {x:1,y:2,z:3}, {x:4,y:5,z:6}, {x:4,y:5,z:6} ];
data3 = [ {p:1,q:2,r:3}, {p:4,q:5,r:6}, {p:4,q:5,r:6} ];
data4 = [ {f:1,g:2,h:3}, {f:4,g:5,h:6}, {f:4,g:5,h:6} ];
$("#grid1").kendoGrid({dataSource:data1});
$("#grid2").kendoGrid({dataSource:data2});
$("#grid3").kendoGrid({dataSource:data3});
$("#grid4").kendoGrid({dataSource:data4});
$("#export").click(function(){
var g1 = $("#grid1").getKendoGrid();
var g2 = $("#grid2").getKendoGrid();
var g3 = $("#grid3").getKendoGrid();
var g4 = $("#grid4").getKendoGrid();
var progress = $.Deferred();
g1._drawPDF(progress).then
(function(G1) {
g2._drawPDF(progress).then
(function(G2) {
g3._drawPDF(progress).then
(function(G3) {
g4._drawPDF(progress).then
(function(G4) {
G2.children.forEach(function(childOf2){G1.children.push(childOf2)});
G3.children.forEach(function(childOf3){G1.children.push(childOf3)});
G4.children.forEach(function(childOf4){G1.children.push(childOf4)});
return kendo.drawing.exportPDF(G1, { multiPage: true });
})
.done(function(drawingExport) {
debugger;
kendo.saveAs({
dataURI: drawingExport,
fileName: "fourgrid.pdf"
});
progress.resolve();
})
})
})
})
});
</script>