2015-10-14 60 views
0

我在ASP.NET中使用GridView,並以編程方式構建GridView。然而,當我去排序時,我得到一個錯誤,因爲事件沒有被正確處理。以編程方式對GridView進行排序

我很久沒有和ASP.NET GridViews一起工作過,而且在這個問題上非常生疏。

這是我到目前爲止的代碼:

Public Sub GetData() 
    Using sqlConn As New SqlConnection(_connstr) 
     Dim sqlcmd As New SqlCommand() 
     sqlcmd.Connection = sqlConn 
     sqlcmd.CommandType = CommandType.StoredProcedure 
     sqlcmd.CommandText = "dbo.uspGetEmailAudit" 
     sqlcmd.Parameters.Add(requestIdParam) 
     Using sqlda As New SqlDataAdapter(sqlcmd) 
      sqlda.Fill(_dt) 
     End Using 
    End Using 

    BindData(_dt) 
End Sub 

Private Sub BindData(dt As DataTable) 
    GridView1.DataSource = _dt 
    GridView1.AllowSorting = True 
    GridView1.AllowPaging = True 
    GridView1.PageSize = 15 
    GridView1.DataBind() 
End Sub 

Protected Sub sorting(sender As Object, e As GridViewSortEventArgs) 
    ViewState("sortexp") = e.SortExpression 
    GridView1.DataSource = GetData() 
    GridView1.DataBind() 
End Sub 

,我得到的是錯誤:

GridView控件「GridView1」激發事件排序這是不處理的。

+0

那麼如何/你在哪裏,告訴'GridView1'處理'Sorting'事件? –

+0

我們可以看到你的asp.net gridview。我只是這樣做,但c# http://stackoverflow.com/questions/33112464/gridview-only-asc-is-working-on-sorting 在這裏,我告訴你我是如何排序它,以及我的asp.net gridview看起來如何。你可能不會像j.f.那樣調用排序。說 – KratosMafia

回答

0

在你的GridView的標記,告訴它使用您的子:

<asp:GridView runat="server" OnSorting="sorting" id="GridView1" /> 

你必須連線起來,也不會爲你做。

如果您在代碼中創建GridView的,你需要做的VB.NET相當於這個C#代碼(對不起,我不是一個VB的傢伙)

GridView1.OnSorting += sorted; 
相關問題