ASP.NET Listコントロールのホームへ戻る

ArrayListをバインドするには

 

  DropDownListArrayListをバインドするサンプル

 

DropDownListArrayListをバインドするサンプル

 

このサンプルは、DropDownListArrayListをバインドしてアイテムを表示しています。DropDownListからアイテムを選択すると、選択したアイテムが表示されます。

 

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

 

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

  DropDownListArrayListをバインドする方法

 

ArrayListにアイテムを追加するには、ArrayListAdd()メソッドを使用します。行8では、ヘルプ情報のアイテムを追加しています。行9-12では、データ用のアイテムを追加しています。このサンプルでは、ListItemValueプロパティを省略しています。行14では、DropDownListDataSourceプロパティにArrayListを設定しています。行15では、DataBind()メソッドでArrayListをバインドして表示させています。

 

  6:     Dim arrDotNet As New ArrayList()
  7:     With arrDotNet
  8:       .Add("---
言語選択 ---")
  9:       .Add("Visual Basic .NET")
 10:       .Add("Visual C++ .NET")
 11:       .Add("Visual C# .NET")
 12:       .Add("Visual J# .NET")
 13:     End With
 14:     dropVsNet.DataSource = arrDotNet
 15:     dropVsNet.DataBind()

 

OnSelectedIndexChangedイベントでは、ヘルプ情報とデータを区別するために、DropDownListSelectedItem.Textプロパティを調べています。SelectedItem.Textプロパティが”--- 言語選択 ---“のときは、ヘルプ情報ですから選択を無効とします。SelectedItem.Textプロパティにデータが格納されているときは、LabelTextプロパティに値を設定して表示します。

 

19: Sub dropVsNet_SelectedIndexChanged(s As Object, e As EventArgs)
 20:   If dropVsNet.SelectedItem.Text = "---
言語選択 ---" Then
 21:     lblMessage.Text = String.Empty
 22:   Else
 23:     lblMessage.Text = String.Format("<hr>{0}", _
 24:       dropVsNet.SelectedItem.Text)
 25:   End If
 26: End Sub

 

Tip

ListItemに相当する新規クラスを作成してバインドするには

 

ListItemクラスに相当する新規クラスVisualStudioを作成して、LongNameShortNameのプロパティを追加します。LongNameには言語のフル名称、ShortNameには略称を設定します。

 

  4: Public Class VisualStudio
  5:   Private m_strLongName As String
  6:   Private m_strShortName As String
  7:
  8:   Public Sub New(strLongName, strShortName)
  9:     m_strLongName = strLongName
 10:     m_strShortName = strShortName
 11:   End Sub
 12:
 13:   Public Property LongName As String
 14:     Get
 15:       Return m_strLongName
 16:     End Get
 17:     Set
 18:       m_strLongName = value
 19:     End Set
 20:   End Property
 21:
 22:   Public Property ShortName As String
 23:     Get
 24:       Return m_strShortName
 25:     End Get
 26:     Set
 27:       m_strShortName = value
 28:     End Set
 29:   End Property
 30: End Class

 

ArrayListAdd()メソッドでアイテム追加するときは、Add(New VisualStudio(“LongName”, “ShortName”))のように記述します。DropDownListDataSourceプロパティにArrayListを設定したら、DataTextFieldDataValueFieldプロパティにVisualStudioクラスのLongName/ShortNameのプロパティを設定します。

 

34:     Dim arrDotNet As New ArrayList()
 35:     With arrDotNet
 36:       .Add(New VisualStudio("---
言語選択 ---",""))
 37:       .Add(New VisualStudio("Visual Basic .NET","VB.NET"))
 38:       .Add(New VisualStudio("Visual C++ .NET","C++.NET"))
 39:       .Add(New VisualStudio("Visual C# .NET","C#.NET"))
 40:       .Add(New VisualStudio("Visual J# .NET","J#.NET"))
 41:     End With
 42:     dropVsNet.DataSource = arrDotNet
 43:     dropVsNet.DataTextField="LongName"
 44:     dropVsNet.DataValueField="ShortName"
 45:     dropVsNet.DataBind()

 

 

ASP.NET Listコントロールのホームへ戻る