【问题标题】:RowAction styles lost while sorting Telerik extension grid排序 Telerik 扩展网格时丢失 RowAction 样式
【发布时间】:2015-06-25 21:39:51
【问题描述】:

我正在使用来自 Telerik Extensions for ASP.NET MVC 的网格控件。我已经使用 Ajax 绑定在局部视图中加载了网格。当我对网格列进行排序时,RowAction 中指定的样式会丢失。

 @(Html.Telerik().Grid<MySite.DTO.CaseDto>(Model.Cases)
                .Name("CasesGrid")
                .HtmlAttributes(new { style = "width: 1000px;" })
                .DataBinding(dataBinding => dataBinding.Ajax()            
                    .OperationMode(GridOperationMode.Client)         
                    .Select("DI_UrgentCases_AjaxRead", "Dashboard")
                )

我正在使用 RowAction 根据特定单元格的值突出显示某些行。

    .RowAction(row =>
                         {
                             if (row.DataItem.IsUrgent)
                             {
                                 row.HtmlAttributes["style"] = "background:#FFBABA";
                             } 
                         })

我尝试了http://www.telerik.com/forums/ajax-binding-and-rowaction-conflict- 中给出的建议,但没有奏效。我尝试在客户端重新绑定网格,但是当我这样做时,排序后的网格会出现在新页面中,而不是局部视图中。

请帮忙!

【问题讨论】:

    标签: asp.net-mvc telerik-mvc


    【解决方案1】:

    最后,我找到了解决问题的方法。我的问题是每次我对网格进行排序时,所有的渲染和事件绑定都会丢失。每次使用 ajax 绑定重新绑定网格时,它只返回数据并加载到网格中。 为了保留任何 css 样式和事件绑定,我不得不再次应用 css 并在数据绑定到网格后重新绑定事件。

    Telerik 扩展提供了一个名为“OnDataBound”的客户端事件,当网格通过 ajax 或 Web 服务进行数据绑定时调用该事件。 (参考:Client Events for Telerik Extensions Grid

       @(Html.Telerik().Grid<MySite.DAL.DTO.UserDto>(Model.Users)
                    .Name("MyUsersGrid")                   
                    .ClientEvents( events =>   events.OnDataBound("grid_OnDataBound"))
    
    function grid_OnDataBound(e) { code for rebind, apply css...}
    

    然后在函数 grid_OnDataBound() 中,我们可以定义代码来重新绑定事件并在数据绑定引发此事件时应用 css。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多