我正在尝试使用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.
任何人都知道为什么这不起作用?
我可以找到的每个例子都让它看起来非常简单,只需创建网格并调用导出…所以我必须忽略一些东西.
我很感激任何有关这方面的想法.
谢谢.