Asp.net mvc 3 Telerik ASP.NET MVC 3网格-设置行背景

Asp.net mvc 3 Telerik ASP.NET MVC 3网格-设置行背景,asp.net-mvc-3,telerik,telerik-mvc,Asp.net Mvc 3,Telerik,Telerik Mvc,我用的是Telerik网格。我需要根据视图模型中的某些属性设置整行的背景色。我尝试如下所示,在IF语句中为每列设置背景,但backgound只应用于元素而不是所有单元格(td)。此外,这似乎是一个非常“肮脏”的方式来完成这项任务 @(Html.Telerik().Grid(Model.SomeItems).Name("Grid") .Columns(columns => { columns.T

我用的是Telerik网格。我需要根据视图模型中的某些属性设置整行的背景色。我尝试如下所示,在IF语句中为每列设置背景,但backgound只应用于元素而不是所有单元格(td)。此外,这似乎是一个非常“肮脏”的方式来完成这项任务

@(Html.Telerik().Grid(Model.SomeItems).Name("Grid")
               .Columns(columns =>
               {
                   columns.Template(
                       @<text>
                          @if (Model.IsOfSpecialColor)
                           {
                             <div class="gridRowBackground">
                               @Html.ActionLink(...)
                             </div>
                           }
                           else
                           {                                        
                              @Html.ActionLink(...)
                           }
                      </text>).Title("Blabla");
                });
@(Html.Telerik().Grid(Model.SomeItems).Name(“Grid”)
.列(列=>
{
columns.Template(
@
@if(异色特殊颜色型号)
{
@Html.ActionLink(…)
}
其他的
{                                        
@Html.ActionLink(…)
}
).名称(“Blabla”);
});

您可以使用
onRowDataBound
事件更改它

@(Html.Telerik().Grid<Customer>()
      .Name("Grid2")
      .DataBinding(d => d.Ajax().Select("Select", "Home"))
      .ClientEvents(e => e.OnRowDataBound("onRowDataBound"))
)
@(Html.Telerik().Grid())
.名称(“Grid2”)
.DataBinding(d=>d.Ajax().Select(“Select”,“Home”))
.ClientEvents(e=>e.OnRowDataBound(“OnRowDataBound”))
)
功能是

<script>
function onRowDataBound(e) {
    if (e.dataItem.ID == 2) {
        e.row.style.backgroundColor = "grey";
    }
}
</script>

函数onRowDataBound(e){
如果(e.dataItem.ID==2){
e、 row.style.backgroundColor=“灰色”;
}
}

如果使用服务器数据绑定,可以使用CellAction。但是,如果使用ajax数据绑定,则需要使用Tassadaque建议的解决方案

@(Html.Telerik().Grid(Model.SomeItems)
.Name("Grid")
.CellAction(cell =>
{
    if (cell.DataItem.IsOfSpecialColor.Value)
    {
      cell.HtmlAttributes["style"] = "background-color: red";
    }
})