javascript – Kendo UI网格导出excel和pdf导出,没有创建文件

前端之家收集整理的这篇文章主要介绍了javascript – Kendo UI网格导出excel和pdf导出,没有创建文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使用excel导出创建一个kendo网格.我的数据正好按照我的要求显示,网格工作正常.但是,saveAsExcel函数会触发excelExport事件,但不会创建任何文件.与pdf导出相同的问题.
这是我的网格选项:
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");

只要更改数据的搜索参数,就会调用此ajax.我刷新数据源的地方.

$.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();
            }

        });

我的控制台日志的输出是.

Firing Export.

工作表对象.

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

和对于网格中的每一行使用这些对象的数组:

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"

我有最新版本的kendo,我正在加载jszip.我在最新版本的chrome上运行它.
我已经尝试了我能想到的这些代码的各种变体,包括删除我的模式,每次在回调中重新初始化kendo.

任何人都知道为什么这不起作用?

我可以找到的每个例子都让它看起来非常简单,只需创建网格并调用导出…所以我必须忽略一些东西.

我很感激任何有关这方面的想法.

谢谢.

解决方法

我有一些以下的建议.

>你可以在你的代码添加kendo deflate pako脚本文件并尝试.
>然后删除pdf导出事件,只是尝试导出带有工具栏默认功能的pdf ..检查它是否正常工作.
>尝试使用带有读取方法的kendo-transport技术在网格选项中添加数据源ajax调用. http://docs.telerik.com/kendo-ui/api/javascript/data/datasource#configuration-transport

猜你在找的JavaScript相关文章