Kendo Grid HeaderTemplate .Sum不像在FooterTemplate中那样工作

时间:2013-10-08 14:49:14

标签: c# asp.net-mvc asp.net-mvc-4 razor kendo-ui

我想汇总网格列TotalPrice的值。

适用于Footer.Template:

.Columns(col => col.Bound(o => o.TotalPrice)
                   .FooterTemplate(@<text>Sum: @item.Sum</text>))
.DataSource(dataSource => dataSource
     .Server()
     ... )

enter image description here

但我想:

但是我希望这行与Sum等在数据行之上,作为第一行 !! 有没有人知道这是如何工作的,无论是内置功能还是稳定的解决方法。

尝试并错误:

使用HeaderTemplate:

.Columns(col => col.Bound(o => o.TotalPrice)
                   .HeaderTemplate(@<text>Sum: @item.Sum</text>))

我得到以下信息:

Compilation Error
Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.

Compiler Error Message: CS1593: Delegate 'System.Action' does not take 1 arguments

Source Error:    

Line 54:           columns.Bound(o => o.TotalPrice).HeaderTemplate(@<text>Sum: @item.Sum</text>);

1 个答案:

答案 0 :(得分:0)

老问题,所以Kendo Grid可能已经改变了。

您可以使用.HeaderTemplate(或Action)在Func中运行服务器端代码,例如:

columns.Bound(o => o.TotalPrice)
       .HeaderTemplate((x) => { 
           return Model.PreCalculatedTotalPrice.ToString("0.00");
       });

这假定PreCalculatedTotalPrice是视图模型的十进制属性(不是网格的绑定模型)。

x似乎总是为空,因此不完全确定这是为了/传递了什么。

由于它是服务器端,您可以运行任何正常的.Net代码(if等)