Kendo UI Grid Excel Export 不适用于引用 Kendo 值的 ClientGroupFooterTemplate

Posted

技术标签:

【中文标题】Kendo UI Grid Excel Export 不适用于引用 Kendo 值的 ClientGroupFooterTemplate【英文标题】:Kendo UI Grid Excel Export not working with ClientGroupFooterTemplate that references a Kendo value 【发布时间】:2021-10-09 20:49:13 【问题描述】:

我正在使用 Kendo MVC 网格,其列定义如下:

columns.Bound(p => p.PoolId).Title("Pool").Hidden(true);

columns.Bound(p => p.Client).Title("Client").htmlAttributes(new  @style = "min-width:120px;" )
    .ClientGroupFooterTemplate("<div>#:value# Totals:</div>");

在“PoolId”字段上有一个组:

...
.Group(group => group.Add(g => g.PoolId))
...

当我没有在 ClientGroupFooterTemplate 中引用 任何 Kendo 值(或根本不包括页脚模板)但只是静默失败(不生成文件)时,Excel 导出有效我尝试使用 '#=' 引用任何剑道值

例如,以下有效并允许导出:

columns.Bound(p => p.Client).Title("Client").HtmlAttributes(new  @style = "min-width:120px;" )
    .ClientGroupFooterTemplate("<div>Totals:</div>");

但以下是导致导出失败的页脚示例:

columns.Bound(p => p.Client).Title("Client").HtmlAttributes(new  @style = "min-width:120px;" )
    .ClientGroupFooterTemplate("<div>#= kendo.format('0:C', aggregates.PoolContributions.min) #</div>");

我正在使用 Kendo UI MVC 版本 2021.2.511.545

如何让 Excel 导出与 ClientGroupFooterTemplate 一起使用?

注意:我在控制台中看到以下错误

Uncaught ReferenceError: value is not defined
    at Object.eval [as groupFooterTemplate] (eval at compile (kendo.all.js:234), <anonymous>:3:82)
    at kendo.all.js:15113
    at Array.map (<anonymous>)
    at init._footer (kendo.all.js:15107)
    at init._dataRow (kendo.all.js:14952)
    at init._dataRows (kendo.all.js:15005)
    at init._rows (kendo.all.js:15245)
    at init.workbook (kendo.all.js:14865)
    at init.<anonymous> (kendo.all.js:15382)
    at Object.d (jquery.min.js:2)

【问题讨论】:

【参考方案1】:

我意识到的关键项目是 Excel 导出和屏幕上的数据模型不同。我最终使用的是如下页脚:

.ClientGroupFooterTemplate("#if (data !== undefined && data.group !== undefined) ##:group.value# Totals:#  else if (data !== undefined) ##:value# Totals:# #")

value 在屏幕上呈现时可以访问,但我必须在 Excel 导出期间使用 group.value

【讨论】:

以上是关于Kendo UI Grid Excel Export 不适用于引用 Kendo 值的 ClientGroupFooterTemplate的主要内容,如果未能解决你的问题,请参考以下文章

在Kendo ui中,Excel导出无法使用jquery。

如何在 kendo.ui.grid 中创建自定义 kendo.ui.Window 以进行编辑

从 Kendo Grid 数据源导出所有数据

kendo ui grid 动态控制某属性

如何提高kendo ui grid在页面的渲染速度

Kendo UI Grid Angular (12)