使用if语句在模板中定期格式化kendo网格列问题

问题描述 投票:0回答:1

我遇到一个问题,试图使用模板在kendo网格中的一列中为我的值添加一个百分号,我正在使用的是..

template: "#if(Markup != null){ #=kendo.format('{0:p}', Markup / 100)# }#"

因此,如果Markup值不为null,那么我希望它显示百分号,但是当我运行网格时,我得到的只是我的列是

=kendo.format('{0:p}', Markup / 100)
kendo-grid kendo-template
1个回答
1
投票

在这种情况下,我喜欢将模板用作功能:

template: function(item) {
    if(item.markup) {
        return kendo.format('{0:p0}', item.markup / 100);
    }

    return item.name;
}

简单示例:template as a function

或者您可以按自己的方式使用它:

template: "#= data.markup ? kendo.format('{0:p}', data.markup / 100): 'N/A' #"

Dojo:inline template

注意:

"#if(Markup != null){ #=kendo.format('{0:p}', Markup / 100)# }#"
                       \--- this hash closes script, 
                            everithing after that is string.
                            Thats why you see
                            =kendo.format('{0:p}', Markup / 100) in grid 
© www.soinside.com 2019 - 2024. All rights reserved.