मैं एक्सेल निर्यात के साथ एक केंडो ग्रिड बनाने की कोशिश कर रहा हूं। मेरा डेटा ठीक से दिखाया गया है जैसा कि मैं चाहता हूं और ग्रिड ठीक काम करता है। हालांकि, saveAsExcel फ़ंक्शन एक्सेल एक्सपोर्ट ईवेंट ट्रिगर करता है, लेकिन कोई फ़ाइल नहीं बनाई जाती है। पीडीएफ निर्यात के साथ एक ही समस्या।केंडो यूआई ग्रिड निर्यात एक्सेल और पीडीएफ निर्यात, कोई फ़ाइल नहीं बनाई गई
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"
मैं केन्डो का नवीनतम संस्करण है, मैं jszip लोड हो रहा हूँ। मैं इसे क्रोम के नवीनतम संस्करण पर चला रहा हूं। मैंने इस कोड के सभी प्रकार की विविधताओं को आजमाया है, जिसमें मैं सोच सकता हूं, जिसमें मेरी स्कीमा को हटाया जा रहा है, कॉलबैक में हर बार केंडो एन्यू शुरू करना।
किसी को भी कोई विचार नहीं आया कि यह क्यों काम नहीं करेगा?
इस पर हर उदाहरण मुझे यह बहुत आसान लग सकता है, बस ग्रिड बनाएं और निर्यात करें ... इसलिए मुझे कुछ अनदेखा करना होगा।
मैं इस बारे में किसी भी विचार के लिए आभारी हूं।
धन्यवाद।
आपका कार्यान्वयन ठीक लगता है। क्या आप निश्चित रूप से जेएसजीआईपी कोन्डो से पहले लोड कर चुके हैं? –
मैंने आपकी जावास्क्रिप्ट कॉपी की है और यह ठीक काम करता है (एक खाली फ़ाइल के साथ)। क्या यह अनुमतियों के साथ एक समस्या हो सकती है? मेरी फाइलें मेरे डाउनलोड फ़ोल्डर में लिखी गई हैं। – Fruitbat
@The_Black_Smurf हां, यह पहले लोड हो गया है। मेरे पास समय सीमा थी इसलिए मैंने ग्रिड के सीएसवी निर्यात को लिखना समाप्त कर दिया। लेकिन इस पर वापस आ जाएगा और यह पता लगाने की कोशिश करें कि इसका क्या कारण है। – Svennisen