C# 使用组和Razor语法进行剑道UI网格聚合';总和';是未定义的错误

C# 使用组和Razor语法进行剑道UI网格聚合';总和';是未定义的错误,c#,asp.net-mvc,razor,telerik-mvc,C#,Asp.net Mvc,Razor,Telerik Mvc,我有一个telerik的父网格,下面是聚合网格作为子网格,下面是我的代码 这是父网格- @(Html.Kendo().Grid<ClaimListbyCompanyUserId1_Result>() .Name("grid") .Columns(columns => { columns.Bound(e => e.chkbox) .HeaderTemplate("<

我有一个telerik的父网格,下面是聚合网格作为子网格,下面是我的代码 这是父网格-

@(Html.Kendo().Grid<ClaimListbyCompanyUserId1_Result>()
        .Name("grid")
        .Columns(columns =>
        {
            columns.Bound(e => e.chkbox)
                .HeaderTemplate("<input type='checkbox' id='chkAllClaim' class='chkAll'/>")
                .ClientTemplate("<input type='checkbox' class='clsClaim'/>")
                .HtmlAttributes(new { style = "text-align: center" })
                .HeaderHtmlAttributes(new { style = "text-align: center" })
                .Filterable(false)
                .Sortable(false)
                .Groupable(false)
                .Width(50);
            columns.Bound(e => e.Name)
                //.Filterable(filterable => filterable.UI("claimType"))
                .Title(@objFieldNameList["Name"])
                .Width(80);
            columns.Bound(e => e.Description)
                .Width(120)
                .Title(@objFieldNameList["Description"]);
            columns.Bound(e => e.Amount).Template(@<text></text>).ClientTemplate(@clsExtensions.ToCurrencyFormat(Convert.ToString("#=decimalAmount#"), ProjectSession.CurrencySign, ProjectSession.CurrencyCode_ISO3, ProjectSession.CurrencyFormat, ProjectSession.DisplayPlaceCurrencyFormat))
                .Width(100).Title(@objFieldNameList["Amount"]);
            columns.Bound(e => e.PayableAmount).Template(@<text></text>).ClientTemplate(@clsExtensions.ToCurrencyFormat(Convert.ToString("#=decimalAmount#"), ProjectSession.CurrencySign, ProjectSession.CurrencyCode_ISO3, ProjectSession.CurrencyFormat, ProjectSession.DisplayPlaceCurrencyFormat))
                .Width(100).Title(@objFieldNameList["Payable Amount"]);
            columns.Bound(e => e.Status).Filterable(filterable => filterable.UI("status")).ClientTemplate("#=GetStatus(Status)#").Width(100).Title(@objFieldNameList["Status"]);
            columns.Bound(e => e.DATE).Format("{0:" + ProjectSession.DateFormat + "}")
                    .Title(@objFieldNameList["Last Modified"])
                    .Width(130);
            columns.Bound(e => e.TotalApprovals)
        .Width(120)
        .Title(@objFieldNameList["Approvals"]);

            columns.Template(@<text></text>).ClientTemplate(
        @Html.ViewLink("View Comment", "javascript:", null, null, new { datahref = Url.Action("_ViewClaimComment", "Home", new { Data = "#=ClaimId#" }), @class = "clsView" }).ToHtmlString())
        .Title(@objFieldNameList["Comment"])
        .Width(60);

            columns.Template(@<text></text>).ClientTemplate(
        @Html.EditLink("Edit", "ExpenseGroupDetails", "ExpenseGroup1", new { Data = "#=ClaimId#" }) + "&nbsp;" +
        @Html.DeleteLink("Delete", "javascript:", null, null, new { Data = "#=ClaimId#", @class = "clsDelete", @datahref = Url.Action("Delete", "ExpenseGroup1") }) + "&nbsp;" +
        @Html.PrintLink("Receipt", "DownloadClaimReport", "ExpenseGroup1", new { Data = "#=ClaimId#" }))
        .Title(@objFieldNameList["Action"])
        .Width(60);
        })
        .Sortable()
        .Pageable()
    //.Scrollable()
        .ClientDetailTemplateId("template")
        .Scrollable(a => a.Height("auto"))
        .Filterable()
        .DataSource(dataSource => dataSource
                        .Ajax().Read(read => read.Action("claimCompanyUserList", "ExpenseGroup1")).PageSize(10)
        )
        .Events(events => events.DataBound("dataBound"))
@(Html.Kendo().Grid())
.名称(“网格”)
.列(列=>
{
columns.Bound(e=>e.chkbox)
.HeaderTemplate(“”)
.ClientTemplate(“”)
.HtmlAttributes(新的{style=“text align:center”})
.HeaderHtmlAttributes(新的{style=“text align:center”})
.可过滤(错误)
.Sortable(false)
.Groupable(false)
.宽度(50);
columns.Bound(e=>e.Name)
//.Filterable(Filterable=>Filterable.UI(“claimType”))
.Title(@objFieldNameList[“Name”])
.宽度(80);
columns.Bound(e=>e.Description)
.宽度(120)
.Title(@objFieldNameList[“Description”]);
columns.Bound(e=>e.Amount).Template(@).ClientTemplate(@clsExtensions.ToCurrencyFormat(Convert.ToString(“#=decimalAmount#”)、ProjectSession.CurrencySign、ProjectSession.CurrencyCode_ISO3、ProjectSession.CurrencyFormat、ProjectSession.DisplayPlaceCurrencyFormat))
.Width(100).Title(@objFieldNameList[“Amount”]);
columns.Bound(e=>e.payableMount).Template(@).ClientTemplate(@clsExtensions.ToCurrencyFormat(Convert.ToString(“#=decimalAmount”)、ProjectSession.CurrencySign、ProjectSession.CurrencyCode_ISO3、ProjectSession.CurrencyFormat、ProjectSession.DisplayPlaceCurrencyFormat))
.宽度(100).标题(@objFieldNameList[“应付金额]);
columns.Bound(e=>e.Status).Filterable(Filterable=>Filterable.UI(“状态”)).ClientTemplate(“#=GetStatus(Status)#”)).Width(100).Title(@objFieldNameList[“Status”]);
columns.Bound(e=>e.DATE).Format(“{0:”+ProjectSession.DateFormat+“}”)
.Title(@objFieldNameList[“上次修改”])
.宽度(130);
columns.Bound(e=>e.TotalApprovals)
.宽度(120)
.标题(@objFieldNameList[“批准]);
columns.Template(@).ClientTemplate(
@ViewLink(“查看注释”、“javascript:”,null,null,new{datahref=Url.Action(“\u ViewClaimComment”,“Home”,new{Data=“#=ClaimId#”}),@class=“clsView”}).ToHtmlString())
.Title(@objFieldNameList[“Comment”])
.宽度(60);
columns.Template(@).ClientTemplate(
@EditLink(“编辑”、“ExpenseGroupDetails”、“ExpenseGroup1”、新的{Data=“#=ClaimId”})+”+
@Html.DeleteLink(“Delete”,“javascript:”,null,null,new{Data=“#=ClaimId”;@class=“clsDelete”,@datahref=Url.Action(“Delete”,“ExpenseGroup1”)}+
@PrintLink(“收据”、“下载索赔报告”、“费用组1”、新{Data=“#=索赔ID#”}))
.Title(@objFieldNameList[“操作”])
.宽度(60);
})
.Sortable()
.Pageable()
//.Scrollable()
.ClientDetailTemplateId(“模板”)
.可滚动(a=>a.高度(“自动”))
.可过滤()
.DataSource(DataSource=>DataSource
.Ajax().Read(Read=>Read.Action(“claimCompanyUserList”、“ExpenseGroup1”)).PageSize(10)
)
.Events(Events=>Events.DataBound(“DataBound”))
)

这里是作为聚合网格的子网格-

<script id="template" type="text/kendo-tmpl">
@(Html.Kendo().Grid<ClaimListbyCompanyUserId1_Result>()
            .Name("grid_#=ClaimId#")
            .Pageable(p => p.Enabled(false))
          .Sortable(s => s.Enabled(false))
          .Groupable(g => g.Enabled(true))
          .Scrollable(s => s.Enabled(false))
        //.Groupable(groupable => groupable.Enabled(true))
            .Columns(columns =>
            {
                columns.Bound(o => o.ItemDescription)
                    .Width(110)
                    .Title(@objFieldNameList["Description"]);

                columns.Bound(e => e.ItemAmount)
                .Title(@objFieldNameList["Amount"])
                .ClientGroupFooterTemplate("Total Amount: #=sum#")
                .Width(100);

                columns.Bound(e => e.CountryName)
                .Title(@objFieldNameList["Country"])
                .ClientGroupFooterTemplate("Count: #=count#")
                .Width(80);

            }).Events(e => e.DataBound("ChildGridDatabound"))
        .DataSource(dataSource => dataSource.Ajax()
        .Aggregates(aggregates =>
    {
        aggregates.Add(p => p.CountryName).Count();
        aggregates.Add(p => p.ItemAmount).Sum();
    })
    .Group(groups => groups.Add(p => p.ClaimTypeId))
    .Read(read => read.Action("GetClaimInnerGridByClaimId", "ExpenseGroup1", new { ClaimId = "#=ClaimId#" }))).ToClientTemplate())

@(Html.Kendo().Grid())
.Name(“grid##=ClaimId#”)
.Pageable(p=>p.Enabled(false))
.Sortable(s=>s.Enabled(false))
.Groupable(g=>g.Enabled(true))
.Scrollable(s=>s.Enabled(false))
//.Groupable(Groupable=>Groupable.Enabled(true))
.列(列=>
{
columns.Bound(o=>o.itemsdescription)
.宽度(110)
.Title(@objFieldNameList[“Description”]);
columns.Bound(e=>e.ItemAmount)
.Title(@objFieldNameList[“Amount”])
.ClientGroupFooterTemplate(“总额:#=总和”)
.宽度(100);
columns.Bound(e=>e.CountryName)
.Title(@objFieldNameList[“国家”])
.ClientGroupFooterTemplate(“计数:#=计数#”)
.宽度(80);
}).Events(e=>e.DataBound(“ChildGridDatabound”))
.DataSource(DataSource=>DataSource.Ajax()
.聚合(聚合=>
{
aggregates.Add(p=>p.CountryName.Count();
aggregates.Add(p=>p.ItemAmount).Sum();
})
.Group(groups=>groups.Add(p=>p.ClaimTypeId))
.Read(Read=>Read.Action(“GetClaimInnerGridByClaimId”,“ExpenseGroup1”,new{ClaimId=“#=ClaimId#“}”)).ToClientTemplate()

错误:Javascript运行时错误,“sum”未定义
尝试了所有可能的解决方案,但给出了相同的错误
如果有人有解决方案,请提供帮助
提前感谢您的HTML代码:

columns.Bound(e => e.ItemAmount)
            .Title(@objFieldNameList["Amount"])
            .ClientGroupFooterTemplate("Total Amount: #=sum#")
            .Width(100);
将上述HTML代码替换为:

 columns.Bound(e => e.ItemAmount)
            .Title(@objFieldNameList["Amount"])
            .ClientGroupFooterTemplate("Total Amount: #= kendo.toString(sum,'c')")
            .Width(100);
...
.ClientGroupFooterTemplate("Total Amount: \\#=sum\\#")
.ClientGroupFooterTemplate("Count: \\#=count\\#")
...
您的HTML代码:

columns.Bound(e => e.ItemAmount)
            .Title(@objFieldNameList["Amount"])
            .ClientGroupFooterTemplate("Total Amount: #=sum#")
            .Width(100);
将上述HTML代码替换为:

 columns.Bound(e => e.ItemAmount)
            .Title(@objFieldNameList["Amount"])
            .ClientGroupFooterTemplate("Total Amount: #= kendo.toString(sum,'c')")
            .Width(100);
...
.ClientGroupFooterTemplate("Total Amount: \\#=sum\\#")
.ClientGroupFooterTemplate("Count: \\#=count\\#")
...
necropost(:
你的代码

...
.ClientGroupFooterTemplate("Total Amount: #=sum#")
.ClientGroupFooterTemplate("Count: #=count#")
...
您可以使用双反斜杠转义哈希字符。
将上述HTML代码替换为:

 columns.Bound(e => e.ItemAmount)
            .Title(@objFieldNameList["Amount"])
            .ClientGroupFooterTemplate("Total Amount: #= kendo.toString(sum,'c')")
            .Width(100);
...
.ClientGroupFooterTemplate("Total Amount: \\#=sum\\#")
.ClientGroupFooterTemplate("Count: \\#=count\\#")
...
necropost(:
你的代码

...
.ClientGroupFooterTemplate("Total Amount: #=sum#")
.ClientGroupFooterTemplate("Count: #=count#")
...
您可以使用双反斜杠转义哈希字符。
将上述HTML代码替换为:

 columns.Bound(e => e.ItemAmount)
            .Title(@objFieldNameList["Amount"])
            .ClientGroupFooterTemplate("Total Amount: #= kendo.toString(sum,'c')")
            .Width(100);
...
.ClientGroupFooterTemplate("Total Amount: \\#=sum\\#")
.ClientGroupFooterTemplate("Count: \\#=count\\#")
...

您好,正如您所说,我已经替换了我的代码,但它给了我一个错误:JavaScript运行时错误:模板无效。您可以尝试使用ClientFooterTemplate(“总额:#=kendo.toString(sum,'c')#”)中的ClientGroupFooterTemplate(“总额:#=kendo.toString(sum,'c')#”)。我认为此错误是由于您在HTML中使用了其他列造成的。请检查控制台。因为我已经在许多地方使用了kendo.toString(sum,'c')函数。是的,我检查了控制台,但只有一个错误“无效模板”。我认为此错误发生在