更改网格kendo ui中已过滤或已排序列的颜色

时间:2013-02-05 11:05:03

标签: jquery colors kendo-ui

您好我想要更改已过滤或排序的列(kendo ui网格)的背景颜色。我想改变整个列的颜色而不仅仅是标题。 有谁知道如何使用css类来实现这个目标?

2 个答案:

答案 0 :(得分:1)

您可以找到第n个单元格(对应于已过滤列的索引)并设置其CSS样式:

$("#grid tr").find("td:eq(1)").css('background', 'grey');

这会将每个第二个单元格的背景设置为灰色。这是一个现场演示:

http://jsbin.com/ixozad/1/edit

答案 1 :(得分:1)

我知道我在游戏方面已经迟到了,但我在我正在构建的应用程序中有这个要求,并认为我会分享一个解决方案。突出显示单元格是最容易的部分 - 进入Kendo以找出要突出显示哪些单元格。我使用@Atanas Korchev的回复并修改它以防止它突出显示剑道页脚:

var filterObj = $("#grid").data("kendoGrid").dataSource.filter;
if (filterObj.arguments && filterObj.arguments[0]) {
    filterObj.arguments[0].filters.forEach(function(val) {
        var index = $(".k-header[data-field='" + val.field + "']").index();
        $("#grid tr[role='row']").find("td:eq(" + index + ")").css("background-color", "red");
    });
}

重要警告 - 我完全反过来设计了这个,而没有咨询Kendo文档(最好是迷宫)所以这是你不能保证在未来的版本中继续工作的东西。我们至少暂时修改了我们的剑道版本,所以它适用于我们(现在)。此外,我没有花足够的时间来真正理解为什么“参数”列表中只有一个对象 - 如果你的用例或配置是你的用例或配置,你可能需要在某些时候循环使用它们。某种程度上不同(再次,在我的本地场景中,它似乎没有超过1个参数,这让我有点紧张)。它只是一个。尽管如此......还是......