Kendo UI Grid ASP.net MVC在底部添加多个总和

时间:2014-09-05 09:07:33

标签: asp.net asp.net-mvc kendo-grid kendo-asp.net-mvc

我需要获取多个字段的总和值,我知道如何做一个但不知道如何做多个。我有这个:

@(Html.Kendo().Grid(Model.Result)
                                            .Name("grid1")
                                            .Columns(col =>
                                            {
                                                col.Bound("Date").Format("{0:n2}").Format("{0:d}");
                                                col.Bound("ClientAge").Format("{0:n2}");
                                                col.Bound("PartnerAge").Format("{0:n2}");
                                                col.Bound("TotalGrossIncome").Format("{0:n2}");
                                                col.Bound("TotalExpenditure").Format("{0:n2}");
                                                col.Bound("TotalNetIncome").Format("{0:n2}");
                                                col.Bound("TotalAssets").Format("{0:n2}");
                                                col.Bound("TotalLiabilities").Format("{0:n2}");
                                                col.Bound("TotalNetAssetValue").Format("{0:n2}");
                                            }
                                            ) 
                                            .Scrollable()
                                            .Selectable(select => select.Mode(GridSelectionMode.Single))
                                            .DataSource(dataSource => dataSource
                                                .Server()                                               
                                                .Model(model => model.Id(p => p.Date))
                                            ).Deferred(true)
                                        )

我基本上需要页脚中的和值来跟随

                                                col.Bound("TotalGrossIncome").Format("{0:n2}");
                                                col.Bound("TotalExpenditure").Format("{0:n2}");
                                                col.Bound("TotalNetIncome").Format("{0:n2}");
                                                col.Bound("TotalAssets").Format("{0:n2}");
                                                col.Bound("TotalLiabilities").Format("{0:n2}");
                                                col.Bound("TotalNetAssetValue").Format("{0:n2}")

任何人都可以帮助我,请不要成为剑道大师:(

1 个答案:

答案 0 :(得分:3)

所以我设法将它排序:D看看下面。根据Kendo的文档,模板实际上是错误的 - 使用#= sum#指的是ASP.net的初始示例的客户端。我用一种不同的方法来解决这个问题,现在就找工作了。

@(Html.Kendo().Grid(Model.Result)
    .Name("grid1")
    .Columns(col =>
    {
        col.Bound("Date").Format("{0:n2}").Format("{0:d}").FooterTemplate("TOTALS");
        col.Bound("ClientAge").Format("{0:n2}");
        col.Bound("PartnerAge").Format("{0:n2}");
        col.Bound(p => p.TotalGrossIncome).Format("{0:n2}").FooterTemplate(@<text>@item.Sum.Format("{0:c}")</text>);
        col.Bound(p => p.TotalExpenditure).Format("{0:n2}").FooterTemplate(@<text>@item.Sum.Format("{0:c}")</text>);
        col.Bound(p => p.TotalNetIncome).Format("{0:n2}").FooterTemplate(@<text>@item.Sum.Format("{0:c}")</text>);
        col.Bound(p => p.TotalAssets).Format("{0:n2}").FooterTemplate(@<text>@item.Sum.Format("{0:c}")</text>);
        col.Bound(p => p.TotalLiabilities).Format("{0:n2}").FooterTemplate(@<text>@item.Sum.Format("{0:c}")</text>);
        col.Bound(p => p.TotalNetAssetValue).Format("{0:c}").FooterTemplate(@<text>@item.Sum.Format("{0:c}")</text>);
    })
    .Pageable()
    .Selectable(select => select.Mode(GridSelectionMode.Single))
    .DataSource(dataSource => dataSource
        .Server()
        .Model(model => model.Id(p => p.Date))
        .PageSize(100)
        .Aggregates(aggregates =>
        {
            aggregates.Add(p => p.TotalGrossIncome).Sum();
            aggregates.Add(p => p.TotalExpenditure).Sum();
            aggregates.Add(p => p.TotalNetIncome).Sum();
            aggregates.Add(p => p.TotalAssets).Sum();
            aggregates.Add(p => p.TotalLiabilities).Sum();
            aggregates.Add(p => p.TotalNetAssetValue).Sum();                                                      
        })
    )
    .Deferred(true)
)