2013-09-05 1 views
0

이것은 내보기의 코드입니다. WebGrid 정렬 및 필터가 정상적으로 작동합니다. 내가 일어나지 않는 페이징을 구현하려고합니다.MVC4에서 WebGrid와 함께 페이징 사용

보기 :

@{   
    var grid = new WebGrid(null, 
      defaultSort: "", 
      rowsPerPage: 10, 
      selectionFieldName:"SearchString", 
      ajaxUpdateContainerId:"agrid", 
      sortFieldName:"SortColumn", 
      sortDirectionFieldName:"SortOrder"); 
    grid.Bind(Model, autoSortAndPage: true, rowCount:20); 
} 

<div id="agrid"> 
@grid.GetHtml(
    tableStyle: "webGrid", 
    headerStyle: "header", 
    alternatingRowStyle: "alt", 
    columns: grid.Columns(
     grid.Column("ID"), 
     grid.Column("Description") 
    ) 
) 
</div> 

컨트롤러 :

그리드는 20에 하드 코딩 된 제공의 예에서 총 수를 추가 행의 총 수를 알 필요가
 public ActionResult Index(int? page=1, int currentPage = 1, int PageSize = 10, string SortColumn = "", string SortOrder = "", string SearchString = "", int numberOfPages=0, int tr=0) 
    { 
     DataContextDataContext obj = new DataContextDataContext(); 
     System.Nullable<int> Total = null; 


     var model = obj.TempItemSubClassList(page, PageSize, SortColumn, SortOrder, SearchString, ref Total).ToList(); 
     tr = (int) Total; 

     numberOfPages = (int)(Total + PageSize - 1)/PageSize; 

     return View(model); 

     //var itemsubclasses = db.ItemSubClasses.Include(i => i.ItemClass); 
     //return View(itemsubclasses.ToList()); 

    } 
+0

당신이 기본 웹 그리드 매김 이외의 사용자 지정 페이지 매김에 관심이 있다면. 제발 좀 봐 http://2freeclear.wordpress.com/2014/10/10/mvc-webgrid-pagination-and-sorting-with-entity-framework/ – ddfnfal

답변

1

그런 식으로 모델을 참조하십시오. 또한, 다소 반 직관적으로는 autoSortAndPage 매개 변수는 false로 설정해야합니다 :

@{   
var grid = new WebGrid(null, 
     defaultSort: "", 
     rowsPerPage: 10, 
     selectionFieldName:"SearchString", 
     ajaxUpdateContainerId:"agrid", 
     sortFieldName:"SortColumn", 
     sortDirectionFieldName:"SortOrder"); 
grid.Bind(Model, autoSortAndPage: true, rowCount:20); <--- total number of rows 
}