Kendo UI 网格模板中的 If 条件

0 kendo-ui kendo-grid

field: 'Status' ,
         width: '70px' , 
         template: "#if(Status == 'On Request') {#<div class='redAndBold'>#:Status</div>#}#"
Run Code Online (Sandbox Code Playgroud)

我有一个剑道 UI 网格,其中“状态”是从 javascript 文件填充的。模型中的Status可以是“On Request”,我想要的是:如果是“On Request”,则为其添加一个类“redAndBold”。此特定示例中的语法给出了“用户未定义”错误。

谁能给我一些关于如何正确执行此操作的指示?

Cec*_*hev 6

kendo.templates 依赖于 #=fieldName# 或 #:fieldName#。在当前情况下,“状态”后面缺少结束符“#”。在初始化期间绑定到数据项时,将使用字段的值对模板进行评估。要执行 JavaScript 逻辑,请仅使用“#JS 逻辑在此处#”。可以在此处找到更多信息Kendo UI 模板

为了避免模板语法混乱,可以使用纯 JavaScript 函数来代替:

template: "#=templateFunc(data)#"

// JS handler
function templateFunc(dataItem){
    if(dataItem.Status== 'On Request') {
        return "<div class='redAndBold'>"+dataItem.Status+"</div>";
    } else{
        return dataItem.Status;
    }
}
Run Code Online (Sandbox Code Playgroud)