2011-08-29 2 views
1

DataGrid Item Databound 이벤트에서 그리드가 처음으로 정렬되었거나로드되었는지 알고 싶습니다. OnSortCommand 이벤트가 있다는 것을 알고 있고 그리드에 정렬이 있는지 확인하기 위해 여기에 몇 가지 변수를 설정할 수 있습니다. 그러나 그리드가 정렬되어 있는지 확인하는 더 좋은 방법이 있는지 알고 싶습니다. 덕분에 adv. 너의 도움으로.DataGrid가 정렬되어 있는지 확인하십시오.

추신 : post을 살펴보고 Request.Form["__EVENTTARGET"]Request.Form["__EVENTARGUMENT"]을 확인하는 것이 좋습니다. 그리드의 열 수와 양식의 다른 서버 컨트롤이 'x'라고 가정 해 봅시다. 'x'가있는 올바른 방법이 아니라고 생각합니다. 조건과 요청이 많은 컨트롤 중 하나에서 왔는지 확인하십시오.

+0

이것은 바보 같은 질문입니까, 아니면 더 기다려야합니까? – user583126

답변

1

DataGridView가 정렬 된 경우 해당 SortedColumn 속성이 설정됩니다.

0

다음은 DataGridView 컨트롤 열의 정렬 순서를 확인하거나 속성 sortorder의 상태를 확인하는 예제입니다.)

I suggest you read this, 매우 정직하고 예;

private void button1_Click(object sender, EventArgs e) 
    { 
     this.dataGridView1.Sorted +=new EventHandler(dataGridView1_Sorted); 
    } 

    void dataGridView1_Sorted(object sender, EventArgs e) 
    { 
     if (this.dataGridView1.SortOrder.Equals(SortOrder.Ascending)) 
     { 
      // your code here 
     } 

     if (this.dataGridView1.SortOrder.Equals(SortOrder.Descending)) 
     { 
      // your code here 
     } 

     if (this.dataGridView1.SortOrder.Equals(SortOrder.None)) 
     { 
      // your code here 
     } 
    } 

감사

0

당신이 링크 된 게시물에서 제안은 오히려 우아하다. DataView를 사용하여 데이터를 정렬합니다.

ViewState["LastSortExpression"]=e.SortExpression; 

를 필요에 따라 다시 게시를 검색 : 당신이 어떤 이유 "기억"하려면 그리드를 정렬하는 데 사용 된 마지막 정렬 식, 당신은 단순히 너무로의 ViewState에 저장할 수 있습니다.

관련 문제