这里有两种方法。
1) Javascript 版本
https://dojo.telerik.com/OWObuLOB 这个道场向您展示了如何以template 的身份进行操作,我所做的只是提取您的简单逻辑并将其应用到使用 kendo 模板引擎呈现的模板中。
<script id="conditionalTemplate" type="text/x-kendo-template">
#if(data.OrderID %2){#
I am an odd Number
#}else{#
I am an Even Number
#}#
</script>
然后在列中调用此模板,设置如下:
{
field: "ShipCity",
title: "Conditional Field",
template: kendo.template($("#conditionalTemplate").html())
}
2) 服务器版本(即 MVC 包装器)
我们可以在这里使用模板执行相同的技巧,但在.ClientTemplate 字符串中我们将其放入模板中:
columns.Bound(c => c.SomeColumn)
.Width(125)
.ClientTemplate("#=kendo.template($('\\#conditionalTemplate').html())(data)#");
此方法的替代方法是从 javascript 函数调用模板,该函数为您执行此操作templating。像这样:
.ClientTemplate("#=someTemplateFunction('{templateName}', data)#");
function someTemplateFunction(templateName, data){
var template = kendo.template($('#'+ templateName).html());
var result = template(data);
return result;
}
使用您认为最容易理解的版本。
可能值得查看模板文档,以帮助您更好地了解在这里可以做什么和不能做什么:https://docs.telerik.com/kendo-ui/framework/templates/overview
有任何问题请告诉我,我会为您改进答案。