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

アイテムをランタイム時に追加するには

 

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

 

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

 

このサンプルは、DropDownListのアイテムをランタイム時に設定します。DropDownListからアイテムを選択すると、選択したアイテムが表示されます。

 

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

 

  ListItemをランタイム時に生成する方法

  DropDownListListItemを追加する方法

 

ListItemをランタイム時に生成するには、New ListItem()のように記述します。ListItemの引数には、TextValueプロパティを指定することができます。このサンプルでは、Textに言語名、Valueに省略名を指定しています。ListItemDropDownListに追加するには、ItemsコレクションのAdd()メソッドを使用します。行5Ifでは、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”))

 

DropDownListSelectedIndexプロパティを使用する代わりに、ItemsプロパティからListItemCollectionを取得して選択する方法もあります。

 

Dim lic As ListItemCollection = dropVsNet.Items

lic.FindByText("Visual C#.NET").Selected = True

lic.FindByValue("C#.NET").Selected = True

 

 

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