2017-01-13 4 views
1

Это мой первый раз, используя этот сайт. Сегодня мой дебют в пользовательский интерфейс Kendo. Мой босс купил его и поставил на него с большими надеждами! Мне очень нравится, если я честен, но я застрял в проблеме, у меня есть поисковая фраза Googled, но не может найти решение. Поэтому я собираюсь опубликовать этот запрос и ложиться спать, надеясь на лучшее. Я бы выполнил свою первую задачу за один день, если бы это было не так:/Добавление даты в pdf-экспорт в Kendo UI

Я ищу, чтобы добавить дату к экспорту PDF в пользовательском интерфейсе Kendo.

Вот мой код ...

$("#grid").kendoGrid({ 
        toolbar: ["excel", "pdf"], 
        excel: { 
         fileName: "FlexibleSalesReport-"+ fileNameDate + ".xlsx", 
         proxyURL: "//demos.telerik.com/kendo-ui/service/export", 
         filterable: true 
        }, 
        pdf: { 
         allPages: true, 
         avoidLinks: true, 
         paperSize: "A4", 
         margin: { top: "2cm", left: "0.5cm", right: "0.5cm", bottom: "1cm" }, 
         landscape: true, 
         repeatHeaders: true, 
         template: $("#page-template").html(), 
         scale: 0.6, 
         date: new Date(), 
         title: 'My Title', 
         subject: 'My subject' 

        }, 
        dataSource: { 
         //type: "odata", 
         // transport: { 
         //  read: "//demos.telerik.com/kendo-ui/service/Northwind.svc/Orders" 
         // }, 

         data: products, 
         schema: { 
          model: { 
           fields: { 

            Name: { type: "string" }, 
            WebName: { type: "string" }, 
            Code: { type: "string" }, 
            Icing: { type: "string" }, 
            Filling: { type: "string" }, 
            AssociatedOrderingPage: { type: "string" }, 
            Sold: { type: "number" }, 
            TotalValue: { type: "string "} 


           } 
          } 
         }, 
         pageSize: 10, 
         serverPaging: false, 
         serverFiltering: false, 
        }, 
        height: 980, 
        filterable: { 
         mode: "row" 
        }, 
        pageable: true, 
        sortable: true, 
        columns: 
        ['Data removed for brevity'] 
       }); 

Я добавил опцию даты, я не уверен, куда тянуть эту опцию из в шаблоне. Ниже приведен мой код для шаблона. Поскольку это в тегах скрипта, я не могу вызывать функции или вводить данные в теги span, чтобы добавить дату в конец заголовка pdf.

<script type="x/kendo-template" id="page-template"> 

      <div class="page-template"> 
       <div class="header"> 
       <div style="float: right">Page #: pageNum # of #: totalPages #</div> 
       ########### Sales Report - <span id="thisOne"></span><!-- I'd like to inject into this span, even this comment isn't commented out in my IDE {VS Code} 

       </div> 
       <div class="watermark">#####</div> 
       <div class="footer"> 
       Page #: pageNum # of #: totalPages # 
       </div> 
      </div> 
      </script> 

The intended result

Спасибо заранее, и хотя я прочитал и Этикет в ПДО. Я открыт для конструктивной критики по моему дополнению

ответ

2

Хорошо. Поэтому после дальнейших исследований. Я нашел решение, которое я поделюсь с вами, ребята.

Чтобы определить любой пользовательский Javascript в шаблоне, вы должны добавить его между тегами хэша (значки фунта для некоторых людей). Например:

# var foo = "bar"; # 

Затем напечатать переменную в отчете, можно использовать следующий синтаксис:

#= foo # 

Решение моей проблемы была замена секции шаблона с

<script type="x/kendo-template" id="page-template"> 
      # 
       var theDate = new Date(); 

      # 
      <div class="page-template"> 
       <div class="header"> 
       <div style="float: right">Page #: pageNum # of #: totalPages #</div> 
       [Obfuscated for client privacy] Flexible Sales Report - <span>#=theDate#</span> 

       </div> 
       <div class="watermark">[Obfuscated for client privacy]</div> 
       <div class="footer"> 
       Page #: pageNum # of #: totalPages #: 


       </div> 
      </div> 
      </script> 

Я искренне надеюсь, что это поможет кому-то.