Kendo在网格中更改字体颜色

Shu*_*nvy 4 jquery jquery-ui kendo-ui kendo-grid

是否可以Kendo通过某种条件更改网格的字体颜色?我希望我能获得jquery可识别的数据,如:

if($("div td:contains('Online')")) {
         $("div :contains('Online')").css( "font-color", "Red" );
}
Run Code Online (Sandbox Code Playgroud)

我有数据进入数据库以显示谁在线/离线,但这两个词有点类似,所以我希望我可以将文本'在线'更改为红色.我可以成功显示数据,但我没有任何其他标记(id或名称等)来使每个数据不同....

我必须做的唯一方法是让每一行都有id或标签吗?我可以用它.contains来找到物体并改变颜色吗?

我的HTML只是简单地说:

<body>
<div id="grid"></div>
<script>
    $(function() {
        $("#grid").kendoGrid({
            dataSource: {
                transport: {
                    read: "data/userState.php"
                },
                error: function(e) {
                    alert(e.responseText);
                },
                schema: {
                    data: "results",
                    total: "Count"
                },
                pageSize: 10
            },
            columns: [{ field: "userAcc", title: "Account" },{ field: "state", title: "State" }],
            pageable: {
                refresh: true,
                pageSizes: true
            },
            height: 430,
            resizable: true
        });
        if($("#grid td:contains('Online')")) {
            $("#grid td:contains('Online')").css( "font-color", "Red" );
        }
    });

</script>
</div>
</body>
Run Code Online (Sandbox Code Playgroud)

Kev*_*ock 8

删除该if语句并改为使用列模板.您可以将值包装在范围内,并有条件地将其类设置为根据您的条件显示红色文本.

这是一个例子:

$("#grid").kendoGrid({
    // ...
    columns: [
        { field: "userAcc", title: "Account" },
        {
            field: "state",
            title: "State",
            template: "<span class='#if(state === \'Online\') {# red #}#'></span>"
        }
    ]
    // ...
});
Run Code Online (Sandbox Code Playgroud)

..和你的CSS课......

.red {
    color: red;
}
Run Code Online (Sandbox Code Playgroud)