アイテムをランタイム時に追加するには
● DropDownListのアイテムをランタイム時に追加するサンプル

図 DropDownListのアイテムをランタイム時に追加するサンプル
このサンプルは、DropDownListのアイテムをランタイム時に設定します。DropDownListからアイテムを選択すると、選択したアイテムが表示されます。
このサンプルでは、以下のノウハウを習得することができます。
▲ ListItemをランタイム時に生成する方法
▲ DropDownListにListItemを追加する方法
ListItemをランタイム時に生成するには、New ListItem()のように記述します。ListItemの引数には、TextとValueプロパティを指定することができます。このサンプルでは、Textに言語名、Valueに省略名を指定しています。ListItemをDropDownListに追加するには、ItemsコレクションのAdd()メソッドを使用します。行5のIfでは、IsPostBackプロパティを参照してページが最初にロードされたか調べています。DropDownListにアイテムを追加する処理は、ページが最初にロードされたときのみ実行されるようにします。ページがポストバックされたときは、追加したアイテムが自動的に保持されます。行7では、ヘルプ情報のアイテムを追加しています。行8-11では、データ用のアイテムを追加しています。
4: Sub Page_Load()
5: If Not IsPostBack Then
6: With dropVsNet
7:
.Items.Add( New ListItem("--- 言語選択 ---","") )
8:
.Items.Add( New ListItem("Visual Basic
.NET","VB.NET") )
9:
.Items.Add( New ListItem("Visual C++
.NET","C++.NET") )
10:
.Items.Add( New ListItem("Visual C# .NET","C#.NET")
)
11:
.Items.Add( New ListItem("Visial J# .NET","J#.NET")
)
12: End With
13: End If
14: End Sub
Tip
|
特定のアイテムをデフォルト表示するには DropDownListの特定のアイテムをデフォルト表示するにはItemsコレクションのFindByText()/FindByValue()メソッドを使用します。たとえば、Visual C# .NETをデフォルト表示するには、次のように記述します。 dropVsNet.SelectedIndex = dropVsNet.Items.IndexOf(dropVsNet.Items.FindByText(“Visual C# .NET”)) Valueプロパティの値で検索するには、次のように記述します。 dropVsNet.SelectedIndex = dropVsNet.Items.IndexOf(dropVsNet.Items.FindByValue(“C#.NET”)) DropDownListのSelectedIndexプロパティを使用する代わりに、ItemsプロパティからListItemCollectionを取得して選択する方法もあります。 Dim lic As ListItemCollection = dropVsNet.Items lic.FindByText("Visual C#.NET").Selected = True lic.FindByValue("C#.NET").Selected = True |