繁体   English   中英

在Kendo网格列模板中嵌套if条件

[英]Nested if condition in kendo grid column template

尝试在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(" ") #} #"

有人能帮我吗? 我究竟做错了什么? 谢谢

您应该在其中使用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()),

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM