您好,我想更改已过滤或排序的列( kendo ui网格)的背景颜色。我想要更改整个列的颜色,而不仅仅是标题。有没有人知道如何使用css类来实现这一点?
发布于 2013-10-17 07:09:54
我知道我在这方面起步晚了,但我在一个正在构建的应用程序中也有这个要求,我想我应该分享一个解决方案。突出显示单元格是很容易的部分-进入Kendo找出突出显示哪些单元格是诀窍。我使用了@Atanas Korchev的响应,并对其进行了修改,以避免突出显示Kendo页脚:
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文档(充其量只是一个迷宫),我自己完全逆向工程了,所以这是你不能保证在未来的版本中继续工作的东西。我们至少暂时固定在我们的Kendo版本上,所以它对我们来说是有效的(目前)。此外,我没有花足够的时间来真正理解为什么“参数”列表中只有一个对象-如果您的用例或配置不同,您可能还需要遍历该列表以提取这些过滤器(同样,在我的本地场景中,它似乎不会超过1个参数,这让我有点紧张)。不管怎样,这只是一个.forEach而已。
发布于 2013-02-05 23:19:43
您可以找到第n个单元格(对应于已筛选列的索引)并设置其CSS样式:
$("#grid tr").find("td:eq(1)").css('background', 'grey');这会将每隔一个单元格的背景设置为灰色。这是一个现场演示:
http://jsbin.com/ixozad/1/edit
https://stackoverflow.com/questions/14706001
复制相似问题