嗨,我想更改已过滤或排序的列(剑道 ui 网格)的背景颜色。我想改变整列的颜色,而不仅仅是标题。有谁知道如何通过 css 类实现这一点?
问问题
2638 次
2 回答
2
我知道我在这个游戏上迟到了,但我在我正在构建的应用程序中也有这个要求,我想我会分享一个解决方案。突出显示单元格是很容易的部分 - 进入 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 文档(充其量是一个迷宫)的情况下完全自行对其进行了逆向工程,因此您不能保证在未来的版本中继续工作。我们至少暂时固定在我们的剑道版本上,所以它对我们有用(现在)。另外,我没有花足够的时间来真正理解为什么“参数”列表中只有一个对象 - 如果您的用例或配置是以某种方式不同(再次,在我的本地场景中,它似乎从未超过 1 个参数,这让我有点紧张)。无论如何,这只是一个 .forEach ......
于 2013-10-16T23:09:54.300 回答
1
您可以找到第 n 个单元格(对应于过滤列的索引)并设置它们的 CSS 样式:
$("#grid tr").find("td:eq(1)").css('background', 'grey');
这会将每隔一个单元格的背景设置为灰色。这是一个现场演示:
于 2013-02-05T15:19:42.687 回答