通过PDF和其他模板导出KendoGrid

时间:2016-11-21 13:34:34

标签: kendo-ui kendo-grid

我有一个工作PDF导出的kendogrid。 现在我想为每个导出的页面添加标题(例如,客户名称和号码)。我尝试像提供的演示here那样做,但我没有看到Text或pagenumbers。但是,它会将边距添加到文档中。

模板:

n=1000

CSS:

function total_mults = sum3and5muls(n)

    N3  = 0:3:n;
    N5  = 0:5:n;
    N15 = 0:15:n;

    v  = N3(:)
    w  = N5(:)
    x  = sum(N15(:));

    sum_mults3 = sum(v);
    sum_mults5 = sum(w);

    total_mults = sum_mults3 + sum_mults5 - x;

end

我的控制器内的网格定义:

<script id="page-template-pdf" type="x/kendo-template">
<div class="page-template-pdf">
    <div class="header-pdf">
        Customer: {{cust.id}}
    </div>
    <div class="footer-pdf">
        <div style="float: right">Page #: pageNum # of #: totalPages #</div>
    </div>
</div>
</script>

2 个答案:

答案 0 :(得分:1)

我希望你能在5个月之前找到解决方案,但是我今天大部分时间都在努力解决这个问题,对我来说,修复就是添加一个标准的纸张。

网格PDF定义

pdf: {
        allPages: true,
        avoidLinks: true,
        repeatHeaders: true,
        template: kendo.template($("#page-template").html()),
        scale: 0.8,
        margin: { top: "3cm", right: "1cm", bottom: "1cm", left: "1cm" },
        paperSize: "A4",
        landscape: true
    }

希望可以帮助那些一直在寻找剑道指导的人。

答案 1 :(得分:0)

我找到了一种方法。但是,仅当您要传递给模板的内容是页面URL的一部分时,此方法才有效。对我来说,URL中最后一个“ /”之后的最后一个元素是我想要的pdf导出标题中的内容。我对kendo-template内的头div做了这个,对我有用:

<div class="header">
    # var ar = window.location.href.split('/'); #
    #: ar[ar.length - 1] #
</div>