2015-02-11 15 views
5

Co jest nie tak z moim kodem?Kendo ui grid if else condition

Muszę sprawdzić siatkę Kendo UI w kolumnie "Typ zamówienia 20". Jeśli tak, to muszę zastosować mój warunek css, który zawiera tło, ale to nie działa, czy ktoś może mi pomóc? Dzięki

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

Odpowiedz

9

To może pomóc na zagnieżdżone jeśli jeszcze do kendo ui szablon siatki wiersza. tj.

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

można obsługiwać go w wydarzeniu siatka z danymi too.Check ten skrzypce:

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

można modyfikować z danymi zamiast zapętlenie poprzez całą kolekcję komórek

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

Polecam Ci napisać funkcję i wywołać ją w szablonie i zakodować logikę w tym. Oto przykład.

$(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

odbywa się na łatwiejszy sposób: Dziękuję wszystkim

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