Kendo ui Kendo UI MVC网格基于列值在页脚中显示聚合数据
我有一个包含两列兴趣的网格:美元金额和状态。 对于该行的美元金额,状态可以是接受、挂起或拒绝 我想实现聚合功能来显示待处理的总美元数和接受的总美元数 这是我的网格Kendo ui Kendo UI MVC网格基于列值在页脚中显示聚合数据,kendo-ui,kendo-grid,kendo-asp.net-mvc,Kendo Ui,Kendo Grid,Kendo Asp.net Mvc,我有一个包含两列兴趣的网格:美元金额和状态。 对于该行的美元金额,状态可以是接受、挂起或拒绝 我想实现聚合功能来显示待处理的总美元数和接受的总美元数 这是我的网格 @(Html.Kendo().Grid(Model) .Name("Grid") .DataSource(dataSource => dataSource .Ajax() .Aggregates(aggregates =>
@(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")
))
)
)
@(Html.Kendo().Grid(模型)
.名称(“网格”)
.DataSource(DataSource=>DataSource
.Ajax()
.聚合(聚合=>
{
aggregates.Add(p=>p.amonRequested).Sum();
})
.Read(Read=>Read.Action(“应用程序读取”、“MyGrid”))
)
.列(列=>
{
columns.Bound(c=>c.RequestingOrg).Width(150);
列.绑定(c=>c.Telephone).宽度(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.amonRequested)。宽度(150)
.Format(“{0:C}”)
.ClientFooterTemplate(“待定:#=总和#已批准:#=总和#”);
columns.Bound(c=>c.TotalGoal).Width(150)
.Format(“{0:C}”);
列宽(150);
columns.Bound(c=>c.Status)
.Filterable((Filterable=>Filterable.UI(“状态过滤器”))
.宽度(150);
})
//.Scrollable(s=>s.Enabled(true).Height(“auto”))
.Pageable()
.Sortable()
.resize可调整大小(resize=>resize.Columns(true))
.Selectable(可选=>Selectable.Mode(GridSelectionMode.Single))
.HtmlAttributes(新的{style=“height:100%;”})
.Events(Events=>Events.Change(“GetSelectedRow”))
.Filterable(Filterable=>Filterable
.额外(错误)
.Operators(Operators=>Operators
.ForString(str=>str.Clear()
.IsEqualTo(“等于”)
))
)
)
如何在我的ClientFooterTemplate中指定根据另一列的值计算总和?您可以在模板内调用JS函数并在模板内进行处理
.ClientFooterTemplate("<div> Pending: #= computeSumPending() #</div><div>Approved: #= computeSumApproved()#</div>");
.ClientFooterTemplate(“挂起:#=computeSumPending()#批准:#=ComputeSumproved()#”);
请参阅此处SO中类似问题的解决方案-