ASP.NET + Oracle (Part1) のホームへ戻る

ArrayListをバインドする (ch21DropDownList1.aspx)

 

DropDownListArrayListをバインドして表示します。このサンプルでは、以下のノウハウを習得することができます。

 

  デザイナにDropDownListオブジェクトを作成する方法

  DropDownListArrayListHashTableSortedListをバインドする方法

  ArrayListHashTableSortedListにアイテムを追加する方法

 

 

1. Webフォーム追加

 

ソリューションエクスプローラからフォルダ[ch2]を右クリックして、新規Webフォーム「ch21DropDownList1.aspx」を追加します。

 

2. DropDownList作成

 

ツールボックスの[Webフォーム]から、DropDownListをドラッグ&ドロップします。デザイナにDropDownList1のオブジェクトが作成されます。

 

3. コードビューに切り替え

 

デザイナの空白の領域をダブルクリックして、コードビューに切り替えます。コードビューにPage_Loadイベントが自動生成されますので、以下のコードを追加します。

 

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)

cccHandles MyBase.Load

  Dim arrVS As New ArrayList

  With arrVS

    .Add(New ListItem("Visual Basic 2005 Express"))

    .Add(New ListItem("Visual C# 2005 Express"))

    .Add(New ListItem("Visual C++ 2005 Express"))

    .Add(New ListItem("Visual J# 2005 Express"))

  End With

  DropDownList1.DataSource = arrVS

  DropDownList1.DataBind()

End Sub

 

4. ブラウザに表示

 

ソリューションエクスプローラから、[ch21DropDownList1]を右クリックしてブラウザに表示します。ArrayListに格納されている4個のアイテムがDropDownListに表示されます。

 

fig2-1-10

ArrayListに格納されているアイテムが表示される

 

●解説

 

ASP.NETListコントロールには、ArrayListHashTableSortedListDataReaderDataSetなどのオブジェクトをバインドすることができます。HashTable/SortedListは、Key/Valueのペアから構成されるデータをバインドするときに利用します。ArrayListは、ListItemなど独自のオブジェクトをバインドするときに利用します。

 

HashTable/SortedListをバインドするときは、DropDownListDataValueFieldDataTextFieldプロパティに「Key」と「Value」を設定する必要があります。ArrayListに格納されているListItemをバインドするときは、DataValueFieldDataTextFieldプロパティの設定は不要です。

 

ArrayListをバインド(ch21DropDownList1.aspx)

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)

cccHandles MyBase.Load

  Dim arrVS As New ArrayList

  With arrVS

    .Add(New ListItem("Visual Basic 2005 Express"))

    .Add(New ListItem("Visual C# 2005 Express"))

    .Add(New ListItem("Visual C++ 2005 Express"))

    .Add(New ListItem("Visual J# 2005 Express"))

  End With

  DropDownList1.DataSource = arrVS

  DropDownList1.DataBind()

End Sub

 

HashTableをバインド(ch21DropDownList2.aspx)

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)

cccHandles MyBase.Load

  Dim ht As New Hashtable

  With ht

    .Add("VB.NET", "Visual Basic 2005 Express")

    .Add("C#.NET", "Visual C# 2005 Express")

    .Add("C++.NET", "Visual C++ 2005 Express")

    .Add("J#.NET", "Visual J# 2005 Express")

  End With

  With DropDownList1

    .DataSource = ht

    .DataValueField = "Key"

    .DataTextField = "Value"

    .DataBind()

  End With

End Sub

 

SortedListをバインド(ch21DropDownList3.aspx)

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)

cccHandles MyBase.Load

  Dim sl As New SortedList

  With sl

    .Add("VB.NET", "Visual Basic 2005 Express")

    .Add("C#.NET", "Visual C# 2005 Express")

    .Add("C++.NET", "Visual C++ 2005 Express")

    .Add("J#.NET", "Visual J# 2005 Express")

  End With

  With DropDownList1

    .DataSource = sl

    .DataValueField = "Key"

    .DataTextField = "Value"

    .DataBind()

  End With

End Sub

 

ASP.NET + Oracle (Part1) のホームへ戻る