2012-12-11 61 views
0

我們使用Visual Studio中的DataSet設計器創建了一個強類型的DataSet。來自強類型DataSet的DataView

你能告訴我們從這個數據集創建DataView所需的編碼嗎?

這將用於代碼隱藏文件中的ASP.Net VB.Net GridViewSummary.Sorting處理程序。

這是我們正在努力的編碼,但需要用它幫助:

Protected Sub GridViewSummary_Sorting(sender As Object, e As GridViewSortEventArgs) Handles GridViewSummary.Sorting 

    ViewState("sortExpr") = e.SortExpression 
    GridViewSummary.DataSource = bindgrid() 
    GridViewSummary.DataBind() 
End Sub 

Private Function bindgrid() As DataView 

    Dim dv As DataView = New DataView 
    Dim dt As DataTable = New DataTable 

    dt.TableName = "Classes" 
    dv.Table = dt 

    If ViewState("sortExpr") IsNot Nothing Then 
     dv.Sort = DirectCast(ViewState("sortExpr"), String) 
    End If 

    Return dv 

End Function 

回答

0

數據視圖可以這樣訪問:myDataSet.Tables[0].DefaultView
如果要直接對GridView進行排序,可以將GridView轉換爲dataview並應用排序。

(dataGridViewFields.DataSource as DataTable).DefaultView.Sort = ....  

我已經回答了類似的問題在這裏:can not bind to datatable with no name error while filtering a gridview

+0

感謝您的答覆。你可以根據我在我添加的示例代碼中試圖做什麼來顯示你的編碼的放置位置嗎? –

+0

@ Emad-ud-deen,我真的不明白你的代碼有什麼問題。你能解釋一下你遇到問題的地方嗎? – RAS

+0

當用戶點擊ASP.Net GridView的標題時,我發現一些在線編碼實現排序。我們試圖實現的編碼是改變強類型DataSet,以便DataView中的數據根據​​ViewState(「sortExpr」)中的值進行排序。我意識到我們可以在DataSet設計器中創建幾個查詢,但是如果可以完成的話,我想嘗試使用代碼來完成所有這些操作。目前,我們不知道如何爲函數bindgrid()實現正確的編碼。 –