2010-02-27 2 views

답변

1

당신은 다음과 같은 코드를 구현할 수 있습니다

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" AllowSorting="true" OnSorting="GridView1_Sorting"> 
<Columns> 
    <asp:BoundField DataField="Name" HeaderText="People Names" SortExpression="Name" /> 
    <asp:BoundField DataField="Age" HeaderText="People Ages" SortExpression="Age" /> 
</Columns> 
</asp:GridView> 
+0

시도가 같은 열을 다시 클릭하고 있는지 :이 코드

protected void GridView1_Sorting(object sender, GridViewSortEventArgs e) { DataTable dataTable = GridView1.DataSource as DataTable; if (dataTable != null) { DataView dataView = new DataView(dataTable); dataView.Sort = e.SortExpression + " " + ConvertSortDirectionToSql(e.SortDirection); GridView1.DataSource = dataView; GridView1.DataBind(); } } private string ConvertSortDirectionToSql(SortDirection sortDirection) { string newSortDirection = String.Empty; switch (sortDirection) { case SortDirection.Ascending: newSortDirection = "ASC"; break; case SortDirection.Descending: newSortDirection = "DESC"; break; } return newSortDirection; } 

를, 당신의 GridView 정의 읽어야합니다 다른 방향으로 정렬합니다. –

+1

문제는이 링크를 통해 해결할 수 있습니다 : http://stackoverflow.com/questions/250037/gridview-sorting-sortdirection-always-ascending –

0

이벤트를 이미 코드에 추가했는지 여부는 확실하지 않습니다.

GridView에 대해 AllowSorting="true"이 설정되어 있으므로 에 정렬 이벤트에 대한 이벤트 처리기가 있어야합니다.

< asp:GridView AllowSorting=true ID="GridView1" runat="server" 
    OnSorting="GridView1_Sorting" > 
    ... 
</asp:GridView> 


protected void GridView1_Sorting(object sender, GridViewSortEventArgs e) 

{ 

    //Add your code here for handling 

}