尝试在kendo网格列模板中实现条件功能时,出现问题,我的网格中的数据没有显示,我的功能是
function material() {
if (PCommonPortalMethods.GetSiteLanguage() == 'en') {
if (data.Unit._Key) {
Unit.UnitGlobalName
}
else ('')
}
else {
if (data.Unit._Key) {
Unit.UnitLocalName
}
else ('')
}
}
我从模板中调用它:template:'#= material() #'
我也尝试了类似的东西:
template: "#if (PCommonPortalMethods.GetSiteLanguage() == 'en') {# if(data.Unit._Key) #=Unit.UnitGlobalName# else(" ") #} else { # if(data.Unit._Key) #=Unit.UnitLocalName# else(" ") #} #"
有人能帮帮我吗?我究竟做错了什么?感谢
答案 0 :(得分:4)
你应该在其中使用return
,像这样更改你的脚本
function material() {
if (PCommonPortalMethods.GetSiteLanguage() === 'en') {
if (data.Unit._Key) {
return Unit.UnitGlobalName;
}
return '';
}
else {
if (data.Unit._Key) {
return Unit.UnitLocalName;
}
return '';
}
}
或者我们可以像这样更改您的脚本
function material() {
var text = '';
if(data.Unit._key) {
text = PCommonPortalMethods.GetSiteLanguage() === 'en' ?
Unit.UnitGlobalName : Unit.UnitLocalName;
}
return text;
}
简单但仍然可读,如果你想制作一个脚本模板,它就像这样。
<script type="text/x-kendo-template" id="template">
# if (PCommonPortalMethods.GetSiteLanguage() === 'en') { #
# if(data.Unit._Key) { #
<span> #= Unit.UnitGlobalName # </span>
# } #
#} else { #
# if(data.Unit._Key) {#
<span> #= Unit.UnitLocalName # </span>
# } #
# } #
</script>
并像这样使用
template: kendo.template($("#template").html()),