【问题标题】:Telerik ASP.NET MVC 3 Grid - setting row backgroundTelerik ASP.NET MVC 3 Grid - 设置行背景
【发布时间】:2012-07-03 10:30:21
【问题描述】:

我正在使用 Telerik Grid。我需要根据视图模型中的某些属性为整行设置背景颜色。我试图通过在 IF 语句中为每一列设置背景来做到这一点,但背景仅适用于元素而不是所有单元格 (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");
                });

【问题讨论】:

    标签: asp.net-mvc-3 telerik telerik-mvc


    【解决方案1】:

    您可以使用onRowDataBound 事件更改它

    @(Html.Telerik().Grid<Customer>()
          .Name("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>
    

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2014-11-02
        • 1970-01-01
        • 2012-12-07
        • 2021-06-11
        • 2013-11-05
        • 2017-08-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多