2015-02-11 26 views
5

Cosa c'è di sbagliato nel mio codice?Griglia di Kendo se in altre condizioni

Devo controllare la griglia UI di Kendo c'è "OrderType 20" nella mia colonna. Se lo è, ho bisogno di applicare la mia condizione css che include lo sfondo, ma non funziona, qualcuno può aiutarmi? grazie

template: '# if (OrderType == "OrderType 20") {#<div class='customClass'>#:OrderType#</div>#} else {#OrderType#}#' 

risposta

9

Potrebbe aiutare per nidificato se altro per il kendo ui modello fila della griglia. Ad esempio

template: "#if(ErrorDesc==null){# #: DeviceLabel # #}else If(ErrorDesc==""){# #: DeviceLabel # #}else{# #: DeviceText # #}#" 
1

È possibile gestire in caso di griglia databound too.Check questo violino:

http://jsfiddle.net/Sowjanya51/krszen9a/

È possibile modificare l'associazione a dati, invece di loop per tutta la raccolta delle cellule

if(dataItem.OrderType == 'OrderType20') 
3

Ti consiglio di scrivere una funzione e chiamarla nel modello e codificare la logica in questo. di seguito è l'esempio.

$(gridId).kendoGrid({ 
dataSource: { 
    data: datasource 
}, 
scrollable: true, 
sortable: true, 
resizable: true, 
columns: [ 
{ field: "MetricName", title: "Metric", width: "130px" }, 
{ field: "OnTrack", title: "On Track", template:'#:changeTemplate(OnTrack)#', width: "130px", attributes: { style: "text-align: center !important;" } }, 
{ field: "CurrentAmount", title: "Current", template: '$ #:parseFloat(CurrentAmount).toFixed(2)#', width: "130px" }, 
{ field: "RequiredAmount", title: "Required", template: '$ #:parseFloat(RequiredAmount).toFixed(2)#', width: "130px" } 
] 
}); 

function changeTemplate(value) 
{ 
    Conditions depending on Your Business Logic 
if() 
    return "HTML Here"; 
else 
    return "HTML Here"; 
} 
5

fatto in modo più semplice: Grazie a tutti

template: "#if(OrderType == 'OrderType 20') {#<div class='customClass'>#:OrderType#</div>#} else{##:OrderType##}#"