Hello All,
I have the following groupFooterTemplate:
groupFooterTemplate: '<
div
style
=
"text-align: right;"
>#=data.col01.group.value# #=kendo.toString(sum, "n0")#</
div
>'
It works perfectly, but when I export to Excel, I get the following error:
VM49544:3 Uncaught TypeError: Cannot read property 'value' of undefined
at Object.eval [as groupFooterTemplate] (eval at compile (kendo.all.js:194), <
anonymous
>:3:131)
What am I doing wrong?
Cheers.
Edo.
5 Answers, 1 is accepted
0
Hello Eduardo,
Please have in mind that exporting template column is a known limitation of the Grid Excel export feature. In this scenario the used HTML will be exported as well:
http://docs.telerik.com/kendo-ui/controls/data-management/grid/excel-export#limitations
If the Grid is exported with a regular template, the values should be exported as expected:
http://dojo.telerik.com/Aruwu
If the issue still occurs, please modify the provided example or send a new one reproducing the issue and I will gladly assist.
Regards,
Stefan
Telerik by Progress
Please have in mind that exporting template column is a known limitation of the Grid Excel export feature. In this scenario the used HTML will be exported as well:
http://docs.telerik.com/kendo-ui/controls/data-management/grid/excel-export#limitations
If the Grid is exported with a regular template, the values should be exported as expected:
http://dojo.telerik.com/Aruwu
If the issue still occurs, please modify the provided example or send a new one reproducing the issue and I will gladly assist.
Regards,
Stefan
Telerik by Progress
Try our brand new, jQuery-free Angular 2 components built from ground-up which deliver the business app essential building blocks - a grid component, data (charts) and form elements.
0
Eduardo
Top achievements
Rank 1
answered on 19 Apr 2017, 08:42 PM
Stefan,
Thank you for your answer.
It "almost" works.
This is my export function:
excelExport:
function
(e) {
console.log(
"Export starting..."
);
var
rows = e.workbook.sheets[0].rows;
for
(
var
ri = 0; ri < rows.length; ri++) {
var
row = rows[ri];
if
(row.type ==
"group-footer"
|| row.type ==
"footer"
) {
for
(
var
ci = 0; ci < row.cells.length; ci++) {
var
cell = row.cells[ci];
if
(cell.value) {
console.log(
"DATA: "
+ cell.value);
cell.value = $(cell.value).text();
console.log(
"DATA: "
+ cell.value);
cell.hAlign =
'right'
;
}
}
}
}
},
This works for a group footer template where I'm not using the group row label, like the following:
groupFooterTemplate:
'<div style="text-align: right;">#=kendo.toString(sum, "n0")#</div>'
, footerTemplate:
'<div style="text-align: right;">#=kendo.toString(sum, "n0")#</div>'
However, it doesn't work in this other template:
groupFooterTemplate:
'<div style="text-align: right;">#=(typeof data.col01.group.value != "undefined" ? data.col01.group.value : "")# #=kendo.toString(sum, "n0")#</div>'
, footerTemplate:
'<div style="text-align: right;">#=kendo.toString(sum, "n0")#</div>'
In this later case, the export function is not called and I get the following error:
Uncaught TypeError: Cannot read property 'value' of undefined
at Object.eval [as groupFooterTemplate] (eval at compile (kendo.all.js:194), <
anonymous
>:3:139)
at init.<
anonymous
> (kendo.all.js:11943)
at d (jquery.min.js:2)
at Function.map (jquery.min.js:2)
at init._footer (kendo.all.js:11937)
at init._dataRow (kendo.all.js:11914)
at init._dataRows (kendo.all.js:11932)
at init._dataRow (kendo.all.js:11907)
at init._dataRows (kendo.all.js:11932)
at init._dataRow (kendo.all.js:11907)
Is there anything than can be done in this case?
Cheers.
0
Hello Eduardo,
I was able to reproduce the same error on my end and it occurs because the group value used in the template is not available for the export.
I forwarded to our developers' team for further investigation if this is an issue with the export.
I will provide more information as soon as I receive the report from the team.
Thank you in advance for your patience.
Regards,
Stefan
Telerik by Progress
I was able to reproduce the same error on my end and it occurs because the group value used in the template is not available for the export.
I forwarded to our developers' team for further investigation if this is an issue with the export.
I will provide more information as soon as I receive the report from the team.
Thank you in advance for your patience.
Regards,
Stefan
Telerik by Progress
Try our brand new, jQuery-free Angular 2 components built from ground-up which deliver the business app essential building blocks - a grid component, data (charts) and form elements.
0
Hello Eduardo,
As this may take more time to investigate I created an issue in our GitHub repository for better visibility.You can track its progress at:
https://github.com/telerik/kendo-ui-core/issues/3095
Additionally, I updated your Telerik points for bringing this to our attention.
Regards,
Stefan
Telerik by Progress
As this may take more time to investigate I created an issue in our GitHub repository for better visibility.You can track its progress at:
https://github.com/telerik/kendo-ui-core/issues/3095
Additionally, I updated your Telerik points for bringing this to our attention.
Regards,
Stefan
Telerik by Progress
Try our brand new, jQuery-free Angular 2 components built from ground-up which deliver the business app essential building blocks - a grid component, data (charts) and form elements.
0
Eduardo
Top achievements
Rank 1
answered on 27 Apr 2017, 09:29 PM
Stefan,
Thank you.
I look forward to the team news.
Edo.