2012-10-11 2 views
0

.NET을 처음 사용 했으므로 다음 코드에 대한 설명이 필요합니다. 아무도 내게 설명을 줄 수 있습니까? 이것은 일반적으로 "내 코드를 설명"사이트는 아니지만gridview 정렬에 대한 설명 필요

protected void GridView1_Sort(object sender, GridViewSortEventArgs e) 
{ 
    GridView grid = sender as GridView; 

    DataTable dt = Session["List"] as DataTable; 
    string month = System.DateTime.Now.AddMonths(-3).ToString("MMMM"); 
    if (dt != null) 
    { 
     dt.DefaultView.Sort = e.SortExpression + " " +  GetSortDirection(e.SortExpression); 
     grid.DataSource = Session["List"]; 
     grid.DataBind(); 
    } 
} 
+0

... 정확히 어떤 부분입니까? 당신이 그것에 대해 이해하지 못하는 것은 무엇입니까? –

+2

이것은 "내 코드를 설명하는"사이트가 아닙니다.) –

답변

2

...

그리드 Sort 방법 : 지정된 정렬 식 및 방향을 기준으로 GridView 컨트롤을 정렬합니다.

protected void GridView1_Sort(object sender, GridViewSortEventArgs e) 
{ 

발신자를 GridView로 전송합니다. 보낸 사람은 항상 이벤트를 발생시킨 컨트롤입니다. 이 이전 요청이 저장된 이후

GridView grid = sender as GridView; 

session에서 GridView의 데이터 소스를 가져옵니다. 모든 객체는 모든 페이지 수명주기의 끝에 폐기되므로 어딘가에 보관 (Session, ViewState)하거나 rdbms에서 다시로드해야합니다 (권장).

DataTable dt = Session["List"] as DataTable; 

다음 줄 중복하고 있다면 (DESC를 내가 이전 방향의 ViewState/세션에 저장되어 있다고 가정하고 GetSortDirection 방법은 정렬 방향을 반대로하기

string month = System.DateTime.Now.AddMonths(-3).ToString("MMMM"); 

을 삭제할 수 있습니다 이전에 해당 열에 대한 ASC 정렬 등).

string month = System.DateTime.Now.AddMonths(-3).ToString("MMMM"); 
if (dt != null) 
{ 
    dt.DefaultView.Sort = e.SortExpression + " " +  GetSortDirection(e.SortExpression); // i assume that the old direction 

세션에 다시 저장하고 GridView을 데이터 바인딩하십시오.

 grid.DataSource = Session["List"]; 
     grid.DataBind(); 
    } 
} 
+0

내 코드 사이트를 설명하는 것이 아니라는 것을 알고 있습니다. 이 메신저부터 .net. 나는 그 일을 몰라요. 귀하의 explaination 주셔서 감사합니다. 특히 this dt.DefaultView.Sort = e.SortExpression + ""+ GetSortDirection (e.SortExpression); – Sam

+0

지금은 좋다 .. 고마워. – Sam