2011-09-15 6 views
2

일부 동적 데이터를 표시하는 데 webgrid를 사용하고 있습니다. ViewBag을 사용하여 View에 표시 할 다양한 유형의 데이터가 포함 된 계층 적 모델에서 벗어나기 위해 최근 코드를 리팩토링했습니다.ASP.net MVC3 Webgrid

이전에 그리드는 열을 잘 정렬하고 머리글을 클릭했지만 ViewBag로 변경했기 때문에 테이블이 정렬되지 않습니다. 새로운 코드는 다음과 같습니다.

@if (ViewBag.data != null) 
{ 
var grid = new WebGrid(
    source: ViewBag.data, 
    defaultSort: "StudyName", 
    rowsPerPage: 10, 
    canSort: true, 
    canPage: true, 
    ajaxUpdateContainerId: "tableDiv" 
    ); 

@grid.GetHtml(
tableStyle: "resultTable", 
columns: grid.Columns(
    ViewBag.columns) 
) 
} 

아무도 아이디어가 없습니까?

감사합니다.

답변

2

당신이 당신의 ViewBag.columnstrueCanSort 속성을 설정했는지 확인하십시오 : 사용자가 그들에 정렬 할 수 있도록 그리드 헤더에 하이퍼 링크로 표시됩니다이 속성 세트가

ViewBag.columns = new[] 
{ 
    new WebGridColumn 
    { 
     ColumnName = "Id" 
    }, 
    new WebGridColumn 
    { 
     CanSort = true, 
     ColumnName = "StudyName"     
    }, 
}; 

만 열을.

+0

하 .... 나는 방금이 방법을 사용하여 알아 냈다고 말하기 위해 여기에 왔습니다. 감사 :) –