0

私は Ajax バインディングを使用しているため、ユーザーが変更を編集した後に合計を更新する場合は、機能する FooterTemplate だけではなく ClientFooterTemplate が必要であると想定しています。

FooterTemplate で動作する私のグリッドは次のとおりです。

    @{
    GridEditMode mode = (GridEditMode)ViewData["mode"];
    GridButtonType type = (GridButtonType)ViewData["type"];
    GridInsertRowPosition insertRowPosition = (GridInsertRowPosition)ViewData["insertRowPosition"];
    Html.Telerik().Grid<RedFile.Models.QuickQuoteItemView>("items")
        .Name("QuoteItems")
        .DataKeys(k => k.Add(o => o.Id))
        .ToolBar(commands => commands.Insert().ButtonType(type).ImageHtmlAttributes(new { style = "margin-left:0" }))
        .Columns(c =>
        {
            c.Bound(o => o.Id).ReadOnly().Hidden();
            c.Bound(o => o.ItemID);
            c.Bound(o => o.Description);
            c.Bound(o => o.ItemQty);
            c.Bound(o => o.ItemPrice).Format("{0:c}");
            c.Bound(o => o.LineTotal)
                .Width(100)
                .Aggregate(ag => ag.Sum())
                .FooterTemplate(result => (result.Sum == null ? "0.00" : result.Sum.Format("{0:c}")))
                .Format("{0:c}");
            c.Command(s =>
            {
                s.Edit();
                s.Delete();
            });
        })
        .Editable(editing => editing.Mode(mode).InsertRowPosition(insertRowPosition))
        .DataBinding(b => b.Ajax()
            .Select("GridSelect", "QuickQuote")
            .Insert("GridInsert", "QuickQuote", new { qqid = Model.Id })
            .Update("GridUpdate", "QuickQuote", new { qqid = Model.Id })
            .Delete("GridDelete", "QuickQuote", new { qqid = Model.Id })
            )
        .Footer(true)
        .Render();
}

フッター テンプレートを次のように変更すると: (同じ結果で複数のバリエーションを試しました)

                .ClientFooterTemplate("<#= $.telerik.formatString('{0:c}', Sum) #>")

合計は単に消えます。

私が欲しいのは、ユーザーが何かを変更した後に更新される合計です。私が間違っていることは何か分かりますか?

ありがとう

4

1 に答える 1

0
columns.Bound(p => p.ItemPrice)
                    .FooterTemplate(
                        @<text>
                            Total:@string.Format("{0:c}", Model.ItemPrice)
                        </text>
                    )
                    .Width(100)
                    .Format("{0:c}");

Teleriks MVC グリッドのドキュメントを参照してください

于 2013-05-09T15:36:33.290 に答える