2016-02-04 15 views
7

Ben excel ihracatı ile kendo ızgara oluşturmaya çalışıyorum. Verilerim tam olarak istediğim gibi gösteriliyor ve ızgara düzgün çalışıyor. Ancak, saveAsExcel işlevi excelExport olayını tetikler, ancak dosya oluşturulmaz. Pdf ihracat ile aynı sorun.Kendo UI grid export excel ve pdf export, dosya oluşturulmadı

grid = $("#grid").kendoGrid({ 
     toolbar:["excel","pdf"], 
     height: 500, 
     scrollable: true, 
     groupable: true, 
     sortable: true, 
     filterable: false, 
     excel: { 
      allPages:true, 
      filterable:true 
     }, 
     excelExport: function(e) { 
      console.log('Firing Export'); 
      console.log(e.workbook); 
      console.log(e.data); 
     }, 
     pdfExport: function(e){ 
      console.log('PDF export'); 

     }, 
     columns: [ 
      { field: "date", title: "Time", template: "#= kendo.toString(kendo.parseDate(date), 'MM/dd/yyyy') #", width: '120px'}, 
      { field: "customer", title: "Customer" }, 
      { field: "amount", title: "Total", format: "{0:c}", width: '70px', aggregates: ["sum"]}, 
      { field: "paid_with", title: "Payment", width: '130px'}, 
      { field: "source", title: "Source" }, 
      { field: "sale_location", title: "Sale Location" } 
     ] 
    }).data("kendoGrid"); 

veriler için arama parametreleri her değiştiğinde bu ajax denir: İşte benim ızgara seçenekleri olduğunu. Veri kaynağını yenilediğim yer.

 $.ajax({ 
      'url':'/POS/ajax/loadTransactionsDetailsForDay.php', 
      'data':{ 
       filters 
      }, 
      'type':'GET', 
      'dataType':'json', 
      'success':function(response) { 
       var dataSource = new kendo.data.DataSource({ 
        data: response.data.invoices, 
        pageSize: 100000, 
        schema: { 
         model: { 
          fields: { 
           date: {type: "string"}, 
           customer: { type: "string" }, 
           amount: { type: "number" }, 
           paid_with: {type: "string"}, 
           source: {type:"string"}, 
           sale_location: {type:"string" } 
          } 
         } 
        } 
       }); 
       grid.setDataSource(dataSource); 
       grid.refresh(); 
      } 

     }); 

Konsol günlüğümün çıktısı şöyledir. Bir çalışma sayfası nesnesi.

Firing Export. 

kılavuzundaki her satır için bu nesnelerle

Object {sheets: Array[1]}sheets: Array[1]0: Objectlength: 1__proto__: Array[0]__proto__: Object 

ve ve dizi:

0: o 
    _events: Object 
    _handlers: Object 
    amount: 40.45 
    customer: "customer 1" 
    date: "2015-11-25T00:00:00-08:00" 
    dirty: false 
    employee: 23 
    paid_with: "Check" 
    parent:() 
    sale_location: "Main" 
    source: "POS" 
    uid: "70b2ba9c-15f7-4ac3-bea5-f1f2e3c800d3" 

ben kendo en son sürümüne sahip, ben jszip yükleme ediyorum. En son krom sürümünde çalıştırıyorum. Bu kodun her çeşit varyasyonunu denedim, şemalarımı silme, kendo yeniden başlatmanın her zaman yeniden başlatılması dahil.

Bunun neden işe yaramayacağına dair herhangi bir fikri olan var mı?

Bu konudaki her örnek, çok basit görünmesini sağlayabilir, sadece ızgarayı oluşturup dışa aktarımı çağırır ... Bu yüzden bir şeyleri gözden kaçırmam gerekiyor.

Bu konuda herhangi bir fikir için minnettarım.

Teşekkürler.

+0

Uygulamanız iyi görünüyor. Kendsiden önce jszip'in yüklendiğinden emin misin? –

+0

Javascriptinizi kopyaladım ve iyi çalışıyor (boş bir dosyayla). Bu izinlerle ilgili bir sorun olabilir mi? Dosyalarım indirmelerim klasörüne yazılır. – Fruitbat

+0

@The_Black_Smurf Evet, daha önce yüklendi. Bir zaman sınırım vardı, bu yüzden ızgara yerine bir CSV dışa aktarma yazdım. Ama buna geri dönecek ve ona neyin sebep olduğunu bulmaya çalışacağız. – Svennisen

cevap

0

Aşağıdaki öneri var.

  1. Kendo deflate pako script dosyasını kodunuza ekleyebilir ve deneyebilirsiniz.
  2. Ardından pdf dışa aktarma olayını kaldırın ve sadece bir pdf'yi araç çubuğu varsayılan işlevleriyle dışa aktarmayı deneyin. Çalışıp çalışmadığını kontrol edin.
  3. Okuma yöntemi ile kendo-transport tekniği kullanarak bir ızgara seçeneğiyle veri kaynağı ajax çağrısı eklemeyi deneyin. http://docs.telerik.com/kendo-ui/api/javascript/data/datasource#configuration-transport