我有一个有两列感兴趣的网格:Dollar Amount和Status。 对于该行的金额
,状态可以是已接受,待处理或已拒绝我想实现汇总功能,以显示待定的总金额和接受的总金额。
这是我的网格
@(Html.Kendo().Grid(Model)
.Name("Grid")
.DataSource(dataSource => dataSource
.Ajax()
.Aggregates(aggregates =>
{
aggregates.Add(p => p.AmountRequested).Sum();
})
.Read(read => read.Action("Applications_Read", "MyGrid"))
)
.Columns(columns =>
{
columns.Bound(c => c.RequestingOrg).Width(150);
columns.Bound(c => c.Telephone).Width(150);
columns.Bound(c => c.Email).Width(150);
columns.Bound(c => c.ContactName).Width(150);
columns.Bound(c => c.ContactTel).Width(150);
columns.Bound(c => c.AmountRequested).Width(150)
.Format("{0:C}")
.ClientFooterTemplate("<div> Pending: #= sum#</div><div>Approved: #= sum#</div>");
columns.Bound(c => c.TotalGoal).Width(150)
.Format("{0:C}");
columns.Bound(c => c.Sponsor).Width(150);
columns.Bound(c => c.Status)
.Filterable((filterable => filterable.UI("statusFilter")))
.Width(150);
})
//.Scrollable(s => s.Enabled(true).Height("auto"))
.Pageable()
.Sortable()
.Resizable(resize => resize.Columns(true))
.Selectable(selectable => selectable.Mode(GridSelectionMode.Single))
.HtmlAttributes(new {style = "height: 100%;"})
.Events(events => events.Change("GetSelectedRow"))
.Filterable(filterable => filterable
.Extra(false)
.Operators(operators => operators
.ForString(str => str.Clear()
.IsEqualTo("Is equal to")
))
)
)
如何在ClientFooterTemplate中指定根据另一列的值计算总和?
答案 0 :(得分:1)
您可以在模板中调用JS函数并在其中进行处理。
.ClientFooterTemplate("<div> Pending: #= computeSumPending() #</div><div>Approved: #= computeSumApproved()#</div>");
在此处提及SO中类似问题的解决方案 - use the plain password encoder