【问题标题】:Kendo grid column template for column with values具有值的列的 Kendo 网格列模板
【发布时间】:2018-12-11 10:11:46
【问题描述】:

我的剑道网格有一个特殊的列,其值为:“未付”、“已付”。从后端到达 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

【问题讨论】:

    标签: kendo-ui kendo-grid kendo-template


    【解决方案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>
    

    【讨论】:

    • 使用此模板,我看到绿色“1”和红色“0”,而不是红色“未付费”和绿色“付费”。
    • @Nickolay 如果您在dojo中提供示例代码以查找问题,那就太好了。
    • @Nickolay 硬编码可以吗? 'template': '#if (category == 1) {# 饮料 #} else {# 食物 #}#'
    • 硬代码并不重要。关于具有“值”和“模板”参数的列的问题。您可以使用任何带有或不带有 if 语句的模板。列应在模板上显示带有一些标记的列值
    • @Nickolay 那你为什么不这样写 'template': '#if (category == 1) {# Beverages span> #} else {# 食物 #}#'
    猜你喜欢
    • 1970-01-01
    • 2019-07-26
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    • 2015-03-19
    • 1970-01-01
    • 2018-06-23
    • 1970-01-01
    相关资源
    最近更新 更多