【发布时间】:2011-08-23 10:34:39
【问题描述】:
我希望能够更改 ASP.NET MVC 中不可编辑的 Telerik AJAX 网格上不可编辑列的显示值。有问题的列是一个布尔值,因此显示转换将为 Yes=true 和 No-False。
【问题讨论】:
标签: asp.net asp.net-mvc data-binding telerik
我希望能够更改 ASP.NET MVC 中不可编辑的 Telerik AJAX 网格上不可编辑列的显示值。有问题的列是一个布尔值,因此显示转换将为 Yes=true 和 No-False。
【问题讨论】:
标签: asp.net asp.net-mvc data-binding telerik
我做了一些实验,发现这很有效。不确定它是否会保留在可编辑的列上,但在我的情况下,该列是不可编辑的。
<% Html.Telerik().Grid<SomeClass>()
.Name("SomeGrid")
.Columns(columns =>
{
columns.Bound(o => o.ReportingPeriodShortDescription);
columns.Bound(o => o.Closed)
.ClientTemplate("<#=Closed ? 'Yes' : 'No' #>")
.Title("Closed")
.Width("4em");
})
.Footer(false)
.Render();
%>
【讨论】:
.ClientTemplate("<#= Closed ? 'Yes' : 'No' #>")
.ClientTemplate("<\\#=Closed ? 'Yes' : 'No' \\#>")代替.ClientTemplate("<#=Closed ? 'Yes' : 'No' #>")
使用模板将值从 True/False 转换为 Yes/No。以下是如何执行此操作的示例:
【讨论】:
我在 Telerik 论坛上找到了一个基于服务器或客户端绑定的演练示例。
http://www.telerik.com/community/forums/aspnet-mvc/grid/changing-a-bool-field-to-display-yes-no.aspx
就我而言,我使用的是 AJAX 绑定,所以我需要一个 ClientTemplate:
columns.Bound(model => model.SubLimits).Title("Sublimits").Width(100)
.ClientTemplate("<#=SubLimits?'Yes':'No'#>");
【讨论】:
我为此苦苦挣扎了一段时间 - 在我的情况下,ClientTemplate 中表达式周围的 似乎不起作用。我通过查看生成的 html 发现了问题 - 它正在生成标签,例如 <no></no>. 以下对我来说很好:
columns.Bound(c => c.DHSLane).Title("DHS Lane")
.ClientTemplate("#=DHSLane?'Yes':'No'#")
【讨论】: