gpt4 book ai didi

javascript - 使用 jquery/javascript 更改 Kendo 网格中的行颜色

转载 作者:搜寻专家 更新时间:2023-11-01 05:05:23 26 4
gpt4 key购买 nike

我有一个显示警报列表的 ajax 绑定(bind)网格。基于行对象中的某些条件,我需要更改行的颜色。这以前有效,当我的网格是服务器绑定(bind)时(我知道这是它应该工作的方式),但由于更改需要使用 ajax 更新网格。这是我的网格,以及过去在服务器绑定(bind)时工作的内容(注意我已更改为 .Ajax():

@(Html.Kendo().Grid(Model.Alarms)
.Name("grid")
.DataSource(dataSource => dataSource
.Ajax()
.ServerOperation(false)
.Model(m => m.Id(s => s.AlarmComment))
.Read(read => read.Action("Alarms_Read", "Alarms", new { id = Model.ViewUnitContract.Id }).Type(HttpVerbs.Get))
.AutoSync(true)
.ServerOperation(true)
)
.RowAction(row =>
{
if (row.DataItem.DateOff == null && row.DataItem.DateAck == null)
{
row.HtmlAttributes["style"] = "backgrcolor:red";
}
if (row.DataItem.DateOff != null && row.DataItem.DateAck == null)
{
row.HtmlAttributes["style"] = "color: green";
}
if (row.DataItem.DateOff == null && row.DataItem.DateAck != null)
{
row.HtmlAttributes["style"] = "color: blue";
}
})
.Columns(col =>
{
col.Bound(p => p.DateOn).Format("{0:u}").Title("Date");
col.Bound(p => p.Priority).Width(50);
col.Bound(p => p.ExtendedProperty2).Width(100).Title("Action");
col.Bound(p => p.AlarmTag).Title("Name");
col.Bound(p => p.AlarmComment).Title("Comment");
col.Bound(p => p.ExtendedProperty1).Title("AlarmID");
col.Bound(x => x.DateOff).Title("Value");
})
.HtmlAttributes(new {style = "height:430px;"})
.Events(e => e.DataBound("setColors"))
)

现在,这就是我在脚本中所做的:

function setColors() {
var grid = $("#grid").data("kendoGrid");
var data = grid.dataSource.data();

$.each(data, function(i, row) {
if (row.DateOff != null && row.DateAck == null) {
// Add color to that rows text
}
});
}

我一辈子都想不出如何更改该行文本的颜色。有什么建议吗?

最佳答案

终于找到了解决办法:

function setColors() {
var grid = $("#grid").data("kendoGrid");
var data = grid.dataSource.data();

grid.tbody.find('>tr').each(function () {
var dataItem = grid.dataItem(this);
if (dataItem.DateOff == null && dataItem.DateAck == null) {
$(this).css('color', 'red');
}

if (dataItem.DateOff != null && dataItem.DateAck == null) {
$(this).css('color', 'green');
}

if (dataItem.DateOff == null && dataItem.DateAck != null) {
$(this).css('color', 'blue');
}
});

关于javascript - 使用 jquery/javascript 更改 Kendo 网格中的行颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21760653/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com