2011-07-26 6 views
0

ユーザーが列をクリックするとデータが昇順/降順でソートされるようにプログラムをコーディングしました。GridViewで列をソートするときに何も起こりません

しかし、私が列ヘッダーをクリックすると、実際には何も起こりません。

私はエラーや何かを得ることはありません。ここで

は私がGridViewコントロール内のレコードをソートするために使用していたコードです:

 Property GridViewSortDirection() As SortDirection 
     Get 
      If IsNothing(ViewState.Item("GridViewSortDirection")) Then 
       Return SortDirection.Descending 
      End If 
      Return ViewState.Item("GridViewSortDirection") 
     End Get 

     Set(ByVal Value As SortDirection) 
      ViewState.Item("GridViewSortDirection") = Value 
     End Set 

    End Property 



    Function GetSortDirection() As SortDirection 

     Dim GridViewSortDirectionNew As SortDirection 

     Select Case GridViewSortDirection 

      Case SortDirection.Descending 
       GridViewSortDirectionNew = SortDirection.Ascending 

      Case SortDirection.Ascending 
       GridViewSortDirectionNew = SortDirection.Descending 

      Case Else 
       GridViewSortDirectionNew = SortDirection.Descending 

     End Select 
     GridViewSortDirection = GridViewSortDirectionNew 

     Return GridViewSortDirectionNew 

    End Function 



    Protected Sub GridView_Sorting1(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewSortEventArgs) Handles GridView2.Sorting 

     'Dim myPageIndex As Integer = GridView2.PageIndex 
     Dim mySortdirection As SortDirection = GetSortDirection() 
     'Dim sortExpression = e.SortExpression 
     'Dim dv As New DataView() 


     If (GridViewSortDirection = SortDirection.Ascending) Then 
      GridViewSortDirection = SortDirection.Descending 
     Else 
      GridViewSortDirection = SortDirection.Ascending 
     End If 

    End Sub 

誰が助言することができれば、素晴らしいことだという。

多くのおかげで、

ダン

+0

aspx側にあるgridviewデザインを表示してください。 –

+0

GridViewのデータはどこから届いていますか? – R0MANARMY

+0

こんにちは、私のデータは、Microsoft SQL Server Expressのテーブルから来ています。 – Dan

答えて

0

あなたがASCまたはDESC句[COLNAME]で注文してデータベースを再クエリする必要があります。あなたはあなたのグリッドビューにバインドすることができる新しいデータセットを取得します。

また、最初の結果をデータビューに配置し、gridview列をクリックしたときにそれに応じてソートすることもできます。この方法では、データベースに再度アクセスする必要はありません

関連する問題