【发布时间】:2017-07-11 13:44:00
【问题描述】:
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();
}
【问题讨论】:
-
我已经为你准备了一个示例道场,这就是你想要的吗? dojo.telerik.com/IbUKI 如果这是你想要的,我会为你展开完整的答案。
-
@DavidShorthose 很好的例子,欣赏道场 - 非常有用
标签: kendo-ui kendo-grid kendo-asp.net-mvc