是否可以在Telerik网格中将布尔值格式化为字符串?
我需要将布尔值(true / false)更改为字符串(是/否)。
我的模特:
[DataMember]
[DisplayName("PANDORA")]
public bool SeVePandora { get; set; }
[DataMember]
[DisplayName("PORTOS")]
public bool SeVePortos { get; set; }
[DataMember]
[DisplayName("CARRIER")]
public bool SeVeCarrier { get; set; }
[DataMember]
[DisplayName("CALCULADORA")]
public bool SeVeCalculadora { get; set; }
[DataMember]
[DisplayName("CONTROL STOCK")]
public bool SeVeControlStock { get; set; }
[DataMember]
[DisplayName("REMARKETING")]
public bool SeVeRemarketing { get; set; }
[DataMember]
[DisplayName("AUTO CREDIT")]
public bool SeVeAutocredit { get; set; }
[DataMember]
[DisplayName("VALORES RESIDUALES")]
public bool SeVeValoresResiduales { get; set; }
[DataMember]
[DisplayName("PRUEBAS")]
public bool EntornoPruebas { get; set; }
我的观点:
<%= Html.Telerik().Grid<VWIS.DataModels.Models.AvisosPromociones.Avisos>()
.Name("ListAvisos")
.Columns(columna =>
{
columna.Bound(d => d.IdAViso).Visible(false).Sortable(false);
columna.Bound(d => d.Titulo).Width(380).Sortable(false);
columna.Bound(d => d.FechaInicio).Format("{0:dd/MM/yyyy}").Width(95).Sortable(true);
columna.Bound(d => d.FechaFin).Format("{0:dd/MM/yyyy}").Width(86).Sortable(true);
columna.Bound(d => d.SeVePandora).Width(50).Sortable(false);
columna.Bound(d => d.SeVePortos).Width(50).Sortable(false);
columna.Bound(d => d.EntornoPruebas).Width(50).Sortable(false);
columna.Bound(d => d.SeVeCarrier).Width(50).Sortable(false);
columna.Bound(d => d.SeVeCalculadora).Width(50).Sortable(false);
columna.Bound(d => d.SeVeControlStock).Width(50).Sortable(false);
columna.Bound(d => d.SeVeRemarketing).Width(50).Sortable(false);
columna.Bound(d => d.SeVeAutocredit).Width(50).Sortable(false);
columna.Bound(d => d.SeVeValoresResiduales).Width(50).Sortable(false);
}).DataBinding(datos => datos.Ajax().Select("_BusquedaAvisos", "Avisos", new { PrimeraBusqueda = true }))
.Pageable(page => page.PageSize(10))
.Selectable()
.Sortable()
.Reorderable(reorder => reorder.Columns(true))
.ClientEvents(e => e.OnDataBinding("OnDataBinding").OnRowSelect("SeleccionarFila"))
%>
在columna.Bound(d => d.SeVePandora).Format()
lambda中不允许表达。
有人可以帮助我吗?
答案 0 :(得分:2)
请尝试使用以下代码段。
colums.Bound(d => d.SeVePandora).Width(50).Sortable(false).ClientTemplate(
"# if (SeVePandora == true) { #" +
"<span>Yes</span>" +
"# } else { #" +
"<span>No</span>" +
"# } #"
);
有关详细信息,请this链接。
答案 1 :(得分:2)
我修改了你的代码@ jayesh-goyani。 Telerik Grid需要一个&#39;&lt;&#39;在
.ClientTemplate
中打开逻辑
`colums.Bound(d => d.SeVePandora).Width(50).Sortable(false).ClientTemplate(
"<# if (SeVePandora == true) { #>" +
"<span>Yes</span>" +
"<# } else { #>" +
"<span>No</span>" +
"<# } #>"
);`
感谢您的帮助!
答案 2 :(得分:0)
只有客户端模板才能更简单。
columns.Bound(c => c.Required).Width(65)
.ClientTemplate("#= Price > 0 ? Required ? 'Yes' : 'No' : 'N/A'#");
在我的示例中,我检查了两件事,即价格是否大于零,是否需要,因为我有三个选择。