Я хочу, чтобы первая страница моего экспорта в PDF была посвящена отображению всех фильтров, связанных с текущим состоянием сетки.Итак, я создал следующий шаблон:
<script type="x/kendo-template" id="pdf-page-template">
<div class="page-template">
# if(pageNum === 1) {#
<div class="pdf-header container">
<h1>Query</h1>
<div class="row">
<div class="pdf-filters col-sm-4">
<h3>Filters</h3>
<dl class="dl-horizontal">
#= getFilters() #
</dl>
</div>
<div class="pdf-columns col-sm-3">
<h3>Columns</h3>
<ol>
#= getColumns() #
</ol>
</div>
<div class="pdf-sorting col-sm-3">
<h3>Sorting</h3>
<ol>
#= getSorting() #
</ol>
</div>
<div class="pdf-grouping col-sm-2">
<h3>Grouping</h3>
<ol></ol>
</div>
</div>
</div>
#}#
<div class="pdf-footer text-muted">
# if(pageNum > 1) {#
<h5 class="text-center">Page #= pageNum - 1 # of #= totalPages - 1 #</h5>
#}#
</div>
</div>
</script>
Идея состоит в том, что он печатает .pdf-header
на странице 1, а затем, начиная со страницы 2, печатает .pdf-footer
с номерами страниц 1страница позади (поскольку она будет начинаться на странице 2, а не на странице 1).
С чем я сталкиваюсь, так это с тем, как настроить разрыв страницы так, чтобы он пропускал первую страницу вместе.Я попытался добавить .page-break
к своему .pdf-header
и затем использовать следующее событие dataBound:
dataBound: function () {
$('.k-grid-pdf').on('click', function (event) {
event.preventDefault()
var progress = $.Deferred();
_grid._drawPDF(progress)
.then(function (root) {
return kendo.drawing.exportPDF(root, {
forcePageBreak: '.page-break',
multiPage: true
});
})
.done(function (dataURI) {
kendo.saveAs({
dataURI: dataURI
});
progress.resolve();
});
});
}
Но это все равно начинает печатать сетку на странице 1. Так что мой вопрос к y 'все (просто для повторения вопроса): как мне заставить сетку начать печать на странице 2?