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 に答える