Visual Studio DataSet デザイナーによって作成された型指定された DataSet があります。
型指定された DataSet から DataView オブジェクトを作成する方法を教えてください。ASP.Net DataView に表示できるように、並べ替えを変更したいと考えています。
これを見つけるために長い間検索しましたが、手ぶらでたどり着きました。
これは DataView のマークアップです。Web フォームが大きいため、すべてのコーディングが削減されます。
<asp:UpdatePanel
ID="UpdatePanelSummary"
runat="server"
UpdateMode="Always">
<ContentTemplate>
<h1>Maintenance</h1>
<% '-- GridView (Grid) for summary. -- %>
<% '-- The user chooses a summary row from here and details are shown in a DetailsView. -- %>
<% '--------------------------------------------------------------------------------------- %>
<asp:GridView
ID="GridViewSummary"
runat="server"
AllowSorting="True"
AutoGenerateColumns="False"
DataKeyNames="ID"
Width="224px"
AllowPaging="True"
PageSize="7">
<Columns>
<asp:BoundField DataField="Unit" HeaderText="Unit"
SortExpression="Unit" />
<asp:BoundField DataField="TheName" HeaderText="Name"
SortExpression="TheName" />
<asp:BoundField DataField="ID"
HeaderText="ID" SortExpression="ID" InsertVisible="False" ReadOnly="True"
Visible="False" />
<asp:CommandField ButtonType="Button" SelectText="Select Unit Details"
ShowSelectButton="True" />
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
これは、コード ビハインド ファイルから DataView に作成するデータです。
' Database objects.
'------------------
Dim theTableAdapter As New DataSetClassesTableAdapters.ClassesTableAdapter
Private Sub Teachers_Init(sender As Object, e As EventArgs) Handles Me.Init
' Load the data from the database into the GridView.
'---------------------------------------------------
GridViewSummary.DataSource = theTableAdapter.GetDataByAllClasses
GridViewSummary.DataBind()
End Sub
Private Function bindgrid() As DataView
Dim dv As DataView = New DataView()
If ViewState("sortExpr") IsNot Nothing Then
dv = New DataView("The DataSet Is Here")
dv.Sort = DirectCast(ViewState("sortExpr"), String)
Else
dv = ds.Tables(0).DefaultView
End If
Return dv
End Function
Protected Sub GridViewSummary_Sorting(sender As Object, e As GridViewSortEventArgs) Handles GridViewSummary.Sorting
ViewState("sortExpr") = e.SortExpression
GridViewSummary.DataSource = bindgrid()
GridViewSummary.DataBind()
End Sub