我的剑道网格有一个特殊的列,其值是:“未付”,“已付”。从后端到达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)。
如何修改模板以显示标签代替值?
答案 0 :(得分:1)
您可以根据条件使用属性。
此处提供代码供您参考。
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>