具有值列的Kendo网格列模板

时间:2018-12-11 10:11:47

标签: 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: {value: 0, text: "Unpaid"}
}

一切正常(图片1)。

现在,我需要对列进行一些标记-红色代表未付款,绿色代表已付费。我想将模板用于列。我只是添加简单的模板

template: "<span class="label label-danger">#: Invoice__state #</span>"

但是现在我看到0或1表示未付款或已付款(图片2)。

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

pic1

pic2

1 个答案:

答案 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>