Kendo ui 具有值的列的剑道网格列模板

Kendo ui 具有值的列的剑道网格列模板,kendo-ui,kendo-grid,kendo-template,Kendo Ui,Kendo Grid,Kendo Template,我的剑道格网有一个特别的栏,上面有值:“未付”、“已付”。从0-表示“未付”,1-表示“已付” 此列的我的配置: { columnMenu: true encoded: true field: "Invoice__state" filterable: {cell: {…}} resizable: true sortable: true title: "State" type: "string" values: Array(2) 0: {value: 1, text: "Paid"} 1: {va

我的剑道格网有一个特别的栏,上面有值:“未付”、“已付”。从0-表示“未付”,1-表示“已付”

此列的我的配置:

{
columnMenu: true
encoded: true
field: "Invoice__state"
filterable: {cell: {…}}
resizable: true
sortable: true
title: "State"
type: "string"
values: Array(2)
0: {value: 1, text: "Paid"}
1: {value: 0, text: "Unpaid"}
}
一切都很好(图1)

现在我需要为列做一些标记-红色表示未付,绿色表示已付。我想为列使用模板。我只是添加了简单的模板

template: "<span class="label label-danger">#: Invoice__state #</span>"
模板:“#:发票状态”
但现在我看到0或1分期付款未付或已支付(图2)

如何修改模板以显示标签值


您可以借助“属性按条件”来完成

这里的代码供您参考

CSS块:

  <style>
.red{
    color:red;
}

.green {
    color:green;
}
</style>

瑞德先生{
颜色:红色;
}
格林先生{
颜色:绿色;
}
Javascript块:

<script>
$("#grid").kendoGrid({
columns: [
{ field: "productName" },
{ field: "category", values: [
{ text: "Beverages", value: 1 },
{ text: "Food", value: 2 }
],attributes: {
            class: "#=category ==1 ? 'red' : 'green' # #console.log(data)#"
          } }
],
dataSource: [
{ productName: "Tea", category: 1 },
{ productName: "Ham", category: 2 }
]
});
</script>

$(“#网格”).kendoGrid({
栏目:[
{字段:“productName”},
{字段:“类别”,值:[
{文本:“饮料”,价值:1},
{文本:“食品”,价值:2}
],属性:{
类:“#=category==1?'red':'green'##console.log(data)#”
} }
],
数据源:[
{productName:“茶”,类别:1},
{productName:“火腿”,类别:2}
]
});

使用此模板,我看到的是绿色的“1”和红色的“0”,而不是红色的“未付”和绿色的“已付”。@Nickolay如果您在dojo中提供示例代码以查找问题,那就太好了。@Nickolay硬编码可以吗模板“:”#if(category==1){#Beverages}else{#Food}#硬代码并不重要。关于带有“值”和“模板”参数的列的问题。您可以使用带或不带if语句的任何模板。列应显示列值,并在其上添加一些标记template@Nickolay那么为什么不这样写“模板”:“如果(类别==1){饮料}其他{食品}”