난 당신이 this similar question에 많은 답변에서 답변을 찾을 수 있습니다 생각합니다.
가장 간단한 버전을 사용하면 ASP.Net이 전체 정렬 작업을 처리 할 것이라고 생각합니다.
이 코드는 SqlDataSource example에서 AllowSorting = "true"로 설정하고 BoundColumns에 SortExpressions를 제공합니다. OnSorting 이벤트가 연결되어 있고 다른 코드는 없습니다. 나는 ASC와 DESC 사이의 전환을 관리한다고 생각합니다. 이 경우, 두려운 SqlDataSource를 사용하여 DataReader가 아니라 DataSet을 사용해야한다고 생각합니다.
<%@ Page Language="C#" %>
<html>
<head id="Head1" runat="server">
<title>Sorting Data Using GridView</title>
</head>
<body>
<form id="form1" runat="server">
<asp:GridView ID="GridView1" AllowSorting="true" runat="server" DataSourceID="SqlDataSource1"
AutoGenerateColumns="False">
<Columns>
<asp:BoundField HeaderText="ID" DataField="au_id" SortExpression="au_id" />
<asp:BoundField HeaderText="Last Name" DataField="au_lname" SortExpression="au_lname" />
<asp:BoundField HeaderText="First Name" DataField="au_fname" SortExpression="au_fname" />
<asp:BoundField HeaderText="Phone" DataField="phone" SortExpression="phone" />
<asp:BoundField HeaderText="Address" DataField="address" SortExpression="address" />
<asp:BoundField HeaderText="City" DataField="city" SortExpression="city" />
<asp:BoundField HeaderText="State" DataField="state" SortExpression="state" />
<asp:BoundField HeaderText="Zip Code" DataField="zip" SortExpression="zip" />
<asp:CheckBoxField HeaderText="Contract" SortExpression="contract" DataField="contract" />
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
SelectCommand="SELECT [au_id], [au_lname], [au_fname], [phone], [address], [city], [state], [zip], [contract] FROM [authors]"
ConnectionString="<%$ ConnectionStrings:Pubs %>" />
</form>
</body>
</html>
출처
2009-04-05 18:51:59
DOK
.aspx 페이지 및 다른 코드 숨김에서 GridView 코드를 게시하면 문제를 쉽게 파악할 수 있습니다. 이 문제의 가능한 원인은 다양합니다. – DOK