ArrayListをバインドするには
● DropDownListにArrayListをバインドするサンプル

図 DropDownListにArrayListをバインドするサンプル
このサンプルは、DropDownListにArrayListをバインドしてアイテムを表示しています。DropDownListからアイテムを選択すると、選択したアイテムが表示されます。
このサンプルでは、以下のノウハウを習得することができます。
▲ ArrayListにアイテムを追加するする方法
▲ DropDownListにArrayListをバインドする方法
ArrayListにアイテムを追加するには、ArrayListのAdd()メソッドを使用します。行8では、ヘルプ情報のアイテムを追加しています。行9-12では、データ用のアイテムを追加しています。このサンプルでは、ListItemのValueプロパティを省略しています。行14では、DropDownListのDataSourceプロパティに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イベントでは、ヘルプ情報とデータを区別するために、DropDownListのSelectedItem.Textプロパティを調べています。SelectedItem.Textプロパティが”--- 言語選択 ---“のときは、ヘルプ情報ですから選択を無効とします。SelectedItem.Textプロパティにデータが格納されているときは、LabelのTextプロパティに値を設定して表示します。
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を作成して、LongNameとShortNameのプロパティを追加します。LongNameには言語のフル名称、ShortNameには略称を設定します。 4: Public Class VisualStudio ArrayListのAdd()メソッドでアイテム追加するときは、Add(New VisualStudio(“LongName”, “ShortName”))のように記述します。DropDownListのDataSourceプロパティにArrayListを設定したら、DataTextFieldとDataValueFieldプロパティにVisualStudioクラスのLongName/ShortNameのプロパティを設定します。 34: Dim arrDotNet As New
ArrayList() |