2

我使用 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}");
       })
4

2 回答 2

0

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

}).Sortable()
于 2015-06-15T14:29:16.907 回答
0

尝试在声明中命名您的 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()

我希望这能够帮到你。如果没有,请发表评论,我们可以尝试其他方法。

于 2016-02-02T19:24:49.377 回答