我正在尝试将列的总和显示为页脚。在官方的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属性。关于我做错了什么的任何想法?
答案 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)
.Aggregates(aggregates =>
{
aggregates.Add(c => c.MrcPerUnit).Sum();
})
// it works with my own application
&#13;