2015-04-24 34 views
1

我有一个有两列兴趣点的网格:美元金额和状态。 该状态可以是接受,待定或拒绝该行的美元金额Kendo UI MVC Grid根据列值在页脚中显示汇总数据

我想实现汇总功能以显示总计美元待处理,以及总计美元接受。

这是我的网

@(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计算基于其他列的值之和规定?

回答

1

您可以调用模板内部的JS函数并在其中进行处理。

.ClientFooterTemplate("<div> Pending: #= computeSumPending() #</div><div>Approved: #= computeSumApproved()#</div>"); 

参考类似问题的解决方案,所以在这里 - Kendo - Grid - Custom Aggregate in FooterTemplate