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

アイテムをデザイン時に定義するには

 

  DropDownListのアイテムをデザイン時に定義するサンプル

 

DropDownListのアイテムをデザイン時に定義するサンプル

 

このサンプルは、DropDownListVisual Studio .NET(VS.NET)の言語を表示させています。ListItemTextには、言語のフル名称(Visual Basic .NET)Valueには省略名(VB.NET)を設定しています。DropDownListからアイテムを選択すると、選択したアイテムが表示されます。

 

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

 

  DropDownListのアイテムをデザイン時に定義する方法

  DropDownListから選択したアイテムを表示する方法

 

DropDownListに表示するアイテムをデザイン時に定義するには、ListItemを使用します。ListItemには、TextValueプロパティがサポートされていますので、DropDownListに表示するテキストと値を個別に設定することができます。行20では、ヘルプ情報として表示されるアイテムを定義しています。ヘルプ情報のValueプロパティには、空白(Empty)を設定して他のアイテムと区別します。行21-24では、Visual Studio .NETの言語を定義しています。このサンプルでは、OnSelectedIndexChangedイベントを登録して選択したアイテムを表示しています。OnSelectedIndexChangedイベントは、DropDownListに表示されているアイテムと別のアイテムを選択したときに発生します。DropDownListからアイテムを選択したときに、ページがポストバックされるように、AutoPostBackプロパティにTrueを設定しています。

 

17: <asp:DropDownList id="dropVsNet" runat="server"
 18:   AutoPostBack="True"
 19:   OnSelectedIndexChanged="dropVsNet_SelectedIndexChanged">
 20:   <asp:ListItem Text="---
言語選択 ---" Value="" />
 21:   <asp:ListItem Text="Visual Basic .NET" Value="VB.NET" />
 22:   <asp:ListItem Text="Visual C++ .NET" Value="C++.NET" />
 23:   <asp:ListItem Text="Visual C#" Value="C#.NET" />
 24:   <asp:ListItem Text="Visual J#" Value="J#.NET" />
 25: </asp:DropDownList>

 

OnSelectedIndexChangedイベントでは、DropDownListSelectedItem.Valueプロパティを調べます。Valueプロパティが空白(Empty)のときは、ヘルプ情報を選択していますので無効とします。Valueプロパティが空白以外のときは、SelectedItem.TextSelectedItem.Valueプロパティの内容をLabelTextプロパティに設定して表示します。

 

  4: Sub dropVsNet_SelectedIndexChanged(s As Object, e As EventArgs)
  5:   If dropVsNet.SelectedItem.Value = String.Empty Then
  6:     lblMessage.Text = String.Empty
  7:   Else
  8:     lblMessage.Text = String.Format("<hr>{0} (<b>{1}</b>)", _
  9:       dropVsNet.SelectedItem.Text, dropVsNet.SelectedItem.Value)
 10:   End If
 11: End Sub

 

Note

DropDownListの先頭アイテムにヘルプ情報を表示する本当の理由:

 

DropDownListにヘルプ情報を表示させないときは、先頭アイテムのVisual Basic .NETがデフォルトとして表示されます。この場合、DropDownListから先頭アイテムを選択してもすでに表示されているのでOnSelectedIndexChanedイベントが発生しません。この不都合を回避するには、サンプルのように先頭アイテムにヘルプ情報(“---言語選択----“)を表示します。この場合、”Visual Basic .NET”2番目のアイテムになりますからOnSelectedIndexChangedイベントが発生します。DropDownListにヘルプ情報を表示させるときは、ヘルプ情報を選択したときに無効とする処理を追加する必要があります。サンプルでは、ListItemValueに空白(Empty)を設定して区別しています。

 

 

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