Kendo ui 剑道网格mvc计算列未格式化

Kendo ui 剑道网格mvc计算列未格式化,kendo-ui,kendo-grid,kendo-asp.net-mvc,Kendo Ui,Kendo Grid,Kendo Asp.net Mvc,MVC 5,剑道2017.2.504 我无法将计算列正确格式化(转换为货币) 我尝试在ClientTemplate中使用javascript函数调用,但从未调用js函数 .ClientTemplate("#=formatCurrency(TotalAmount*Deductibility)#") function formatCurrency(value) { var result = kendo.toString(value, "c"); return resul

MVC 5,剑道2017.2.504

我无法将计算列正确格式化(转换为货币)

我尝试在
ClientTemplate
中使用javascript函数调用,但从未调用js函数

   .ClientTemplate("#=formatCurrency(TotalAmount*Deductibility)#")

   function formatCurrency(value) {
    var result = kendo.toString(value, "c");
    return result;
  }
还尝试直接使用
kendo.toString

  .ClientTemplate("#= kendo.toString(TotalAmount*Deductibility, 'C') #")

  .ClientTemplate("#= kendo.toString(TotalAmount*Deductibility, 'c') #")
以下是网格定义(仅显示所需的列)。有一点需要注意, 网格有可扩展的行(在
DetailTemplate
中定义),可扩展的行使用ajax数据源,但外部网格没有。我认为这是问题的一部分,我使用的是
ClientTemplate
(在外部网格中),但数据源不是Ajax。电网的所有其他方面都按预期运行:

  Html.Kendo().Grid(Model)
              .Name("TaxClass")
              .Columns(columns =>
              {
                 ...
                columns.Template(c => c.TotalAmount * c.Deductibility).Title("Amount Deductible").ClientTemplate("#=formatCurrency(TotalAmount*Deductibility)#")
                            .HtmlAttributes(new {@class = "currency"}).Width(110);
                    })
             .DetailTemplate(
                 ...

             )
             .Filterable()
             .DataSource(dataSource => dataSource.Server())
             .Render();

         }

我首选的方法是在viewmodel中进行计算,但您可以执行以下操作:

columns.Template(c => { })
       .ClientTemplate("#= kendo.toString(deductibleAmount(data),'c')#")
       .HtmlAttributes(new {@class = "currency"}).Title("Amount Deductible").Width(110);
然后添加脚本:

<script type="text/javascript">
    //Passed data contains current row model
    function deductibleAmount(data) {
        return data.TotalAmount * data.Deductibility;
    }
</script>

//传递的数据包含当前行模型
功能免赔额(数据){
返回数据。合计金额*数据。可扣除性;
}

我为您准备了一个dojo示例,这就是您想要的吗?如果这是你想要的,我将为你展开一个完整的答案。@Davidshort这些好例子,感谢dojo-非常有用