1

如何在 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>);
4

1 回答 1

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 #>");
    }

如果您需要网格“外部”的行数,您可以使用网格的客户端 API

<script type="text/javascript">
$(function() {
    var totalRows = $("#contractMonthGrid").data("tGrid").total;
    //do something with totalRows 
});
</script>
于 2012-07-01T05:10:05.380 回答