DataViewのすべての行/列を表示するサンプル

DataViewのすべての行/列を表示するサンプル

 

このサンプルは、DataViewのすべての行(レコード)と列(カラム)を表示します。得意先テーブルのDataViewを作成するには、次の手順で行います。

 

  New DataTable(“Customers”)DataTableを作成します。

  OleDbDataAdapterFill()メソッドで得意先テーブルをDataTableに取り込みます。

  New DataView(DataTable)DataViewを作成します。

 

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

 

  DataTableを作成する方法

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

  DataTableからDataViewを作成する方法

  DataViewからDataRowViewを取り出す方法

  DataRowViewのすべてのカラム名とカラム値を取り出す方法

 

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

 

15では、OleDbDataAdapterFill()メソッドで得意先テーブルをDataTableに取り込んでいます。行16では、DataTableからDataViewを生成しています。行20-22For…Nextでは、DataViewからDataRowViewを取り出してSub DisplayRow()に渡しています。DisplayRow()では、DataRowViewのすべてのカラム名とカラム値を表示します。

 

  7: Sub Page_Load()
  8:   Dim strSQL As String = "Select top 3 CustomerID, " & _
  9:     "CompanyName, 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:   Dim intRow As Integer
 18:   Response.Write("<h2>Display All Rows</h2>")
 19:   Response.Write("<table>")
 20:   For intRow = 0 To dv.Count - 1
 21:     DisplayRow(dv(intRow))
 22:   Next
 23:   Response.Write("</table>")
 24: End Sub

 

Sub DisplayRow()の行27では、DataRowViewRow.TableプロパティからDataTableを取得しています。行29-32For Each…Nextでは、DataTableColumnsコレクションからDataColumnを取り出しています。Response.Write()メソッドでは、カラム名とカラム値を表示しています。カラム名は、DataColumnColumnNameプロパティから取得します。カラム値は、DataRowView()の引数にカラム名を指定して取得します。

 

26: Sub DisplayRow(drv As DataRowView)
 27:   Dim dt As DataTable = drv.Row.Table
 28:   Dim dc As DataColumn
 29:   For Each dc In dt.Columns
 30:     Response.Write(String.Format("<tr><th>{0}</th><td>{1}</td></tr>", _
 31:      dc.ColumnName, drv(dc.ColumnName)))
 32:   Next
 33:   Response.Write("<tr><td><hr></td><td><hr></td></tr>")
 34: End Sub