【问题标题】:Grid.Mvc sorting not workingGrid.Mvc 排序不起作用
【发布时间】:2015-06-23 03:50:39
【问题描述】:

我使用 Grid.Mvc 创建了一个网格。由于某种原因,排序不起作用。当我单击列对其进行排序时,它只是重新加载页面。我对 MVC 很陌生,不知道如何解决这个问题。这是我的代码。

@Html.Grid(Model.StudentCrsHist).Columns(columns => 
       {               
           columns.Add(x => x.YR_CDE)
               .Titled("YR_CDE")
               .SetWidth(110)                   
               .Sortable(true);

           columns.Add(x => x.TRM_CDE)
               .Titled("TRM_CDE")
               .SetWidth(110)                   
               .Sortable(true);

           columns.Add(x => x.SUBTERM_CDE)
               .Titled("SUBTERM_CDE")
               .SetWidth(110)                   
               .Sortable(true);

           columns.Add(x => x.CRS_CDE)
               .Titled("CRS_CDE")
               .SetWidth(110)                   
               .Sortable(true);

           columns.Add(x => x.CRS_DIV)
               .Titled("CRS_DIV")
               .SetWidth(110)                   
               .Sortable(true);

           columns.Add(x => x.CREDIT_HRS)
               .Titled("CREDIT_HRS")
               .SetWidth(110)                   
               .Sortable(true);

           columns.Add(x => x.CRS_TITLE)
               .Titled("CRS_TITLE")
               .SetWidth(110)                   
               .Sortable(true);

           columns.Add(x => x.ADD_FLAG)
               .Titled("ADD_FLAG")
               .SetWidth(110)                   
               .Sortable(true);

           columns.Add(x => x.ADD_DTE)
               .Titled("ADD_DTE")
               .SetWidth(110)                   
               .Sortable(true)
               .Format("{0:MM/dd/yyyy}");

           columns.Add(x => x.DROP_FLAG)
               .Titled("DROP_FLAG")
               .SetWidth(110)                   
               .Sortable(true);

           columns.Add(x => x.DROP_DTE)
               .Titled("DROP_DTE")
               .SetWidth(110)
               .Sortable(true)
               .Format("{0:MM/dd/yyyy}");
       })

【问题讨论】:

  • This link 可能会有所帮助
  • 我遇到了同样的问题。我还注意到,当我将鼠标悬停在它们上方时,我的行并没有突出显示。你找到解决办法了吗?
  • antman 听起来您缺少 javascript 文件。在我使用 grid.mvc 工作的项目中,我包括:<script src="~/Scripts/jquery-1.10.2.min.js"></script> <link href="@Url.Content("~/Content/Gridmvc.css")" rel="stylesheet" type="text/css" /> <script src="@Url.Content("~/Scripts/gridmvc.min.js")" type="text/javascript"> </script> <script src="~/Scripts/bootstrap-datepicker.js"></script> <link href="~/Content/gridmvc.datepicker.min.css" rel="stylesheet" />

标签: asp.net-mvc-4 grid.mvc


【解决方案1】:

您应该将可排序功能添加到您的网格中。 在您的代码中将最后一行更改为:

}).Sortable()

【讨论】:

    【解决方案2】:

    尝试在声明中命名您的 Grid,例如

    @Html.Grid((IEnumerable<project_name.Models.Host>)ViewBag.Hosts).Named("assessmentsGrid").Columns(columns =>
    

    如果这不起作用,我会在您的 _Layout 页面中检查您的 javascript 文件。你确定你包括了:

    • ~/Scripts/gridmvc.min.js
    • ~/Scripts/jquery-1.10.2.min.js
    • “~/Content/Gridmvc.css”

    注意:我不必将 .Sortable() 放在我的表声明中以使列排序工作,只需将 .Sortable(true) 放在我的列声明中。我的网格结束于}).WithPaging(10).WithMultipleFilters()

    我希望这对您有所帮助。如果不行,请发表评论,我们可以尝试其他方法。

    【讨论】:

      猜你喜欢
      • 2014-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-09
      • 2013-04-07
      • 2015-05-19
      • 2012-09-20
      相关资源
      最近更新 更多