Telerik网格:使用Ajax绑定检索行计数

时间:2012-07-01 03:35:31

标签: ajax asp.net-mvc telerik

如何在Telerik ASP.Net MVC网格中使用Ajax绑定访问网格行计数? 我需要在页脚中显示总数,请参阅下面的代码段。总计必须在插入和删除时更新。

使用服务器绑定时,有@ Model.Count()。如何使用Ajax绑定做同样的事情?

谢谢你!

    @{
    Html.Telerik()
        .Grid<ContractMonth>()
        .Name("contractMonthGrid")
        .DataBinding(dataBinding => dataBinding
            .Ajax()
            .Select("_AjaxBinding", "ContractMonth")
            .Insert("_AjaxInsert", "ContractMonth")
            .Delete("_AjaxDelete", "ContractMonth")
            )
        .DataKeys(keys => keys.Add(c => c.Id))
        .ToolBar(commands => commands.Insert())
        .Columns(columns =>
        {
            columns.Bound(o => o.StartDate).EditorTemplateName("Date").FooterTemplate(@<text>@Model.Count()</text>);

1 个答案:

答案 0 :(得分:5)

Telerik MVC网格支持服务器和Ajax aggregates

  

支持以下聚合:

     
      
  • 平均
  •   
  • 计数
  •   
  • 最小
  •   
  • 最高
  •   
  • 萨姆
  •   
     

要指定列的聚合,请使用聚合方法

所以在你的样本中:

.Columns(columns =>
    {
        columns.Bound(o => o.StartDate)
               .EditorTemplateName("Date")
               .Aggregate(aggregates => aggregates.Count())
               .FooterTemplate(@<text>@item.Count</text>)
               .ClientFooterTemplate("<#= Count #>");
    }

如果您需要在网格“外部”排行,则可以使用网格client side API

<script type="text/javascript">
$(function() {
    var totalRows = $("#contractMonthGrid").data("tGrid").total;
    //do something with totalRows 
});
</script>