页脚的Kendo Grid Aggregation

时间:2013-11-22 13:31:52

标签: asp.net-mvc-4 kendo-ui kendo-grid

我正在尝试将列的总和显示为页脚。在官方的Kendo 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。

但是,我收到的错误是“Uncaught ReferenceError:sum is not defined”

我的数据源也有Fee属性。关于我做错了什么的任何想法?

2 个答案:

答案 0 :(得分:6)

我认为这是由你的专栏引起的:

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属性来引入所需的费用值格式

答案 1 :(得分:0)

&#13;
&#13;
 .Aggregates(aggregates =>
                            {
                                aggregates.Add(c => c.MrcPerUnit).Sum();

                            })

// it works with my own application
&#13;
&#13;
&#13;