Как преобразовать логическое значение из true / false в yes / no на Telerik ASP.NET сетка MVC
Я хотел бы иметь возможность изменять отображаемое значение не редактируемого столбца на не редактируемой сетке Telerik AJAX в ASP.NET MVC. Столбец, о котором идет речь, является логическим значением sot, преобразование отображения будет Yes=true и No-False.
4 ответов
Я немного поэкспериментировал и обнаружил, что это работает. Не уверен, что он будет поддерживать редактируемый столбец, но в моем случае столбец не редактируется.
<% 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();
%>
используйте шаблон для преобразования значения 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'#")