Как преобразовать логическое значение из 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. Вот пример того, как это сделать:

http://www.telerik.com/community/forums/aspnet-ajax/grid/how-do-i-show-yes-no-for-boolean-columns-instead-of-true-false.aspx


Я нашел пример на форумах 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'#")