ADO.NET DataSetのホームへ戻る

   DataViewのレコードを並べ替えるサンプル

DataViewのレコードを並べ替えるサンプル

 

このサンプルは、DataViewを得意先カナで並べ替えて得意先の50音順に表示します。DataViewを特定のカラムで並べ替えるには、Sortプロパティにカラム名を設定します。Sortプロパティには、SQLOrder By句の書式で設定します。オプションとして昇順(Asc)/降順(Desc)を指定することができます。

 

このサンプルでは、以下のノウハウを習得することができます。

 

  得意先テーブルをDataTableに取り込む方法

  DataTableからDataViewを作成する方法

  DataViewを特定のカラムで並べ替える方法

 

サンプルのPage_Load()イベントでは、DataViewを得意先カナで並べ替えして表示します。行8-9では、得意先テーブルからレコードを抽出するSQLを生成しています。行10-13では、OleDbConnectionOleDbDataAdapterDataTableのインスタンスを生成しています。

 

15では、OleDbDataAdapterFill()メソッドで得意先テーブルをDataTableに取り込んでいます。行16では、DataTableからDataViewを生成しています。行17では、DataViewSortプロパティにCompanyKanaを設定して得意先カナで並べ替えしています。得意先カナを昇順に並べ替えするときは、CompanyKana AscのようにAscを付加します。降順に並べ替えするときは、CompanyKana DescのようにDescを付加します。昇順/降順のオプションを省略したときは、昇順が採用されます。

 

20-22For…Nextでは、DataViewからDataRowViewを取り出してSub DisplayRow()に渡しています。DisplayRow()では、DataRowViewのすべてのカラム名とカラム値を表示します。

 

  7: Sub Page_Load()
  8:   Dim strSQL As String = "Select CompanyKana, CompanyName, " & _
  9:     "ContactName, Phone From Customers"
 10:   Dim con As New OleDbConnection( _
 11:     ConfigurationSettings.AppSettings("conStringNw"))
 12:   Dim da As New OleDbDataAdapter(strSQL, con)
 13:   Dim dt As New DataTable("Customers")
 14:
 15:   da.Fill(dt)
 16:   Dim dv As New DataView(dt)
 17:   dv.Sort = "CompanyKana"
 18:   Dim intRow As Integer
 19:   Response.Write("<h2>DataView.Sort</h2>")
 20:   For intRow = 0 To dv.Count - 1
 21:     DisplayRow(dv(intRow))
 22:   Next
 23: End Sub

ADO.NET DataSetのホームへ戻る