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

ArrayListをバインドするには

 

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

 

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

 

このサンプルは、ListBoxArrayListをバインドしてアイテムを表示しています。ListBoxからアイテムを選択して、OKボタンをクリックすると選択したアイテムが表示されます。

 

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

 

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

  ListBoxArrayListをバインドする方法

 

ArrayListにアイテムを追加するには、ArrayListAdd()メソッドを使用します。行7-12With…End Withでは、Add()メソッドで4個のアイテムを追加しています。このサンプルでは、ListItemValueプロパティを省略しています。行13では、ListBoxDataSourceプロパティにArrayListを設定しています。行14では、DataBind()メソッドでArrayListをバインドして表示させています。

 

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

 

Tip

ArrayListListItemに相当する独自のクラスを作成してListBoxにバインドするには

 

最初に、ArrayListのサブクラスVisualStudioCollectionを作成します。このサブクラスは、ArrayListを元に作成していますので、ArrayListでサポートされているすべのプロパティ/メソッドが継承されます。

 

  4: Public Class VisualStudioCollection
  5:   Inherits ArrayList
  7:   Public Sub New()
  8:   End Sub
  9: End Class
 

次に、ListItemクラスに対応するクラスVisualStudioを作成してLongNameShortNameプロパティを追加します。


 11: Public Class VisualStudio
 12:   Private m_strLongName As String
 13:   Private m_strShortName As String

 15:   Public Sub New(strLongName, strShortName)
 16:     m_strLongName = strLongName
 17:     m_strShortName = strShortName
 18:   End Sub

 20:   Public Property LongName As String
 21:     Get
 22:       Return m_strLongName
 23:     End Get
 24:     Set
 25:       m_strLongName = value
 26:     End Set
 27:   End Property

 29:   Public Property ShortName As String
 30:     Get
 31:       Return m_strShortName
 32:     End Get
 33:     Set
 34:       m_strShortName = value
 35:     End Set
 36:   End Property
 37: End Class

 

VisualStudioCollectionにデータを格納するには、New VisualStudioCollection()でインスタンスを生成してAdd()メソッドでアイテムを追加します。アイテムは、New VisualStudio()でインスタンスを生成します。VisualStudioクラスには引数として、LongNameShortNameを指定します。ListBoxDataSourceプロパティにVisualStudioCollectionを設定したらDataBind()メソッドでバインドします。ListBoxDataValueFieldDataTextFieldプロパティには、VisualStudioShortName/LongNameプロパティを設定します。

 

41:     Dim colVisualStudio As New VisualStudioCollection()
 42:     With colVisualStudio
 43:       .Add(New VisualStudio("Visual Basic .NET","VB.NET"))
 44:       .Add(New VisualStudio("Visual C++ .NET","C++.NET"))
 45:       .Add(New VisualStudio("Visual C# .NET","C#.NET"))
 46:       .Add(New VisualStudio("Visual J# .NET","J#.NET"))
 47:     End With
 48:     With lstVsNet
 49:       .DataSource = colVisualStudio
 50:       .DataValueField = "ShortName"
 51:       .DataTextField = "LongName"
 52:       .DataBind()
 53:     End With

 

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