页脚的 Kendo 网格聚合

Posted

技术标签:

【中文标题】页脚的 Kendo 网格聚合【英文标题】:Kendo Grid Aggregation for Footer 【发布时间】:2013-12-07 09:49:53 【问题描述】:

我正在尝试将列的总和显示为页脚。按照官方的剑道 UI 演示,我的代码如下:

@(html.Kendo().Grid<ORMIModel.Content.ContentPurchase.CheckoutListModel>()
.Name("grid")
.Columns(columns =>

    columns.Bound(p => p.ContentId).ClientTemplate("<a href='javascript:void(0);' onclick='RemoveFromCart(#=ContentId#)'>#=CategoryName#</a>").Width(50).Sortable(true);
    columns.Bound(p => p.CategoryName).Width(140).Sortable(true);
    columns.Bound(p => p.ModelYear).Width(100).Sortable(true);
    columns.Bound(p => p.PurchasePeriod).Width(100).Sortable(true);
    columns.Bound(p => p.PurchasePeriodCount).Width(50).Sortable(true);
    columns.Bound(p => p.FeeFormatted).Width(50).Sortable(true).ClientFooterTemplate("#=sum#");
)
.Sortable()
.ClientDetailTemplateId("detailTemplate")
.Events(v => v.DetailExpand("detailExpand"))
.DataSource(dataSource => dataSource
    .Ajax()
            .Aggregates(v =>  v.Add(p => p.Fee).Sum(); )
    .Read(read => read.Action("ListContentForCheckout", "Content"))                   
)

如上所示,我正确定义了聚合字段,并将其作为 #=sum# 应用到我最后一列的 clientFooterTemplate。

但是,我收到“未捕获的 ReferenceError:未定义总和”的错误

我的数据源也有费用属性。知道我做错了什么吗?

【问题讨论】:

【参考方案1】:

我相信这是您的专栏造成的:

columns.Bound(p => p.FeeFormatted).Width(50).Sortable(true).ClientFooterTemplate("#=sum#");

FeeFormatted 属性为目标,但总和聚合是针对 p.Fee 属性进行处理的。

尝试更改列

    columns.Bound(p => p.FeeFormatted).Width(50).Sortable(true).ClientFooterTemplate("#=sum#");

    columns.Bound(p => p.Fee).Width(50).Sortable(true).ClientFooterTemplate("#=sum#");

看看它是否有效。然后使用网格列 .Format 属性引入所需的费用值格式

【讨论】:

您好 Ancalagon,感谢您的回复。我已经按照您的建议进行了更改,现在它可以工作了。没想到我需要将页脚准确地放置在聚合字段中。但是现在还有另一个奇怪的问题,假设我只有 1 行,它的费用值为 5.00。但是我的页脚(费用总和)显示 0(零)。有什么想法吗?【参考方案2】:

 .Aggregates(aggregates =>
                            
                                aggregates.Add(c => c.MrcPerUnit).Sum();

                            )

// it works with my own application

【讨论】:

以上是关于页脚的 Kendo 网格聚合的主要内容,如果未能解决你的问题,请参考以下文章

如何访问剑道网格页脚模板值

Kendo UI:将网格摘要值放在页脚中

如何使用 JQuery 在 Kendo Ui Grid 上刷新“页脚”

Kendo UI - JSON 响应 - 使用带有服务器分组和服务器聚合的远程数据源的网格

用于页眉、粘滞页脚和垂直对齐的中间内容的 CSS Flexbox 或 CSS 网格?

如何在AngularJS ui-grid的分组网格中显示列页脚?