DataListにDataSetをバインドするには
● DataListにDataSetをバインドするサンプル

図 DataListにDataSetをバインドするサンプル
このサンプルは、DataListにDataSetをバインドして表示しています。DataListのRepeatColumnsプロパティとRepeatDirectionプロパティを使用して縦方向に2列で表示しています。
このサンプルでは、以下のノウハウを習得することができます。
▲ DataSetにDataTableを格納する方法
▲ DataListにDataSetをバインドする方法
▲ DataListのRepeatColumns/RepeatDirectionプロパティの使い方
このサンプルは、OleDbConnection, OleDbDataAdapterクラスを使用してAccess/SQL ServerのtblVsDotNetテーブルを読み込んでDataSetに格納します。行14では、tblVsDotNetテーブルからレコードを抽出するSQLを作成しています。行15では、Web.configに登録されているデータベースの接続情報を取得しています。行16では、OleDbConnctionのインスタンスを生成しています。OleDbConnectionの引数には、データベースの接続情報を指定します。行17では、OleDbDataAdaperのインスタンスを生成しています。OleDbDataAdapterの引数には、SQLコマンドとOleDbConnectionを指定します。行18では、DataSetのインスタンスを生成しています。ここで生成したDataSetは、OleDbDataAdaperのFill()メソッドで使用します。
行20では、OleDbDataAdapterのFill()メソッドでSQLのSelectステートメントを実行してtblVsDotNetテーブルのレコードを抽出してDataSetに格納します。Fill()メソッドの引数には、DataSetとDataTableの名前(VsDotNet)を指定します。
行21-24のWith…End Withでは、DataListの各種プロパティを設定してDataSetをバインドしています。行22では、DataListのDataSourceプロパティにDataSetを設定しています。行23では、DataListのDataBind()メソッドでDataSetをバインドしています。
13: Sub BindData()
14: Dim strSQL as String =
"Select * From tblVsDotNet"
15: Dim strCon as String =
ConfigurationSettings.AppSettings("conStringNw")
16: Dim con As OleDbConnection = New
OleDbConnection(strCon)
17: Dim da As OleDbDataAdapter = New
OleDbDataAdapter(strSQL, con)
18: Dim ds As DataSet = New DataSet()
20: da.Fill(ds, "VsDotNet")
21: With dlstVsNet
22: .DataSource = ds
23: .DataBind()
24: End With
25: End Sub
このサンプルは、DataListのRepeatColumnsプロパティに2を設定して2列で表示しています。また、RepeatDirectionプロパティにVerticalを設定して縦方向に表示されるようにしています。Verticalを指定するとデータが以下のように縦方向に表示されます。
|
① |
④ |
|
② |
⑤ |
|
③ |
⑥ |
Horizontalを指定する横方向に表示されます。
|
① |
② |
|
③ |
④ |
|
⑤ |
⑥ |
30: <asp:DataList id="dlstVsNet"
runat="server"
33: RepeatColumns="2"
RepeatDirection="Vertical"
::: >
35: <ItemTemplate>
36: <%# Container.DataItem("LongName") %>
37: <br>
38: (<b><%# Container.DataItem("ShortName") %></b>)
39: </ItemTemplate>
40:
</asp:DataList>