【问题标题】:Grid sorting with Telerik.Web.Mvc.UI Grid使用 Telerik.Web.Mvc.UI Grid 进行网格排序
【发布时间】:2014-06-15 12:14:00
【问题描述】:

我正在使用 Telerik.Web.Mvc.UI Grid 在 Asp.Net MVC 网站上显示一个网格。

所有列都应该是可排序/可过滤的,但正如您从下图中看到的那样,唯一真正在正确位置具有排序/过滤器的是文件名列和请求的项目柱子。

这些列由以下代码绑定...

        c.Bound(o => o.FileName);
        c.Bound(o => o.Dto.ProjectDetailsDto.ProjectRequiredBy)
            .Template(o => o.Dto.ProjectDetailsDto.ProjectRequiredBy.HasValue ? o.Dto.ProjectDetailsDto.ProjectRequiredBy.Value.ToString(Model.DateTimePattern) : "")
            .HeaderHtmlAttributes(Resources.EditorLocalization.ProjectDeadline);

让我们限制问题,并问自己为什么项目名称不可排序(它不是)。项目名称是这样绑定的:

            c.Bound(o => o.Dto.ProjectName)
            .Template(o => Html.ActionLink(o.Dto.ProjectName, "Details", "Project", new { projectId = o.Dto.AssetTask.ProjectId }, null))
            .HeaderTemplate(Resources.EditorLocalization.ProjectName)
            .Sortable(true)
            .Filterable(true);

首先,我认为可能是使用模板的列无法排序 - 只有它们可以,因为我们有列所需的项目的工作案例。

也许,我想,是 HeaderTemplate() 的存在导致了我们的问题,但为什么会这样呢?不过,我不能否认,我认为应该工作但没有工作的所有东西都有一个 HeaderTemplate。

所以 - 让我们责备它,看看我们能做些什么......我使用 HeaderTemplate 的原因是因为我们希望能够本地化用于标记列(即标题)的字符串。有没有其他方法可以让我们做到这一点,但也意味着我们也可以在网格上进行排序?

感谢您的期待...

【问题讨论】:

    标签: asp.net-mvc telerik


    【解决方案1】:

    好的 - 问题确实是由于我使用了 HeaderTemplate()。如果我改用 Title() 方法,一切都很好......

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-16
      • 2014-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-22
      • 2023-02-06
      相关资源
      最近更新 更多