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

図 DropDownListのアイテムをデザイン時に定義するサンプル
このサンプルは、DropDownListにVisual Studio .NET(VS.NET)の言語を表示させています。ListItemのTextには、言語のフル名称(Visual Basic .NET)、Valueには省略名(VB.NET)を設定しています。DropDownListからアイテムを選択すると、選択したアイテムが表示されます。
このサンプルでは、以下のノウハウを習得することができます。
▲ DropDownListのアイテムをデザイン時に定義する方法
▲ DropDownListから選択したアイテムを表示する方法
DropDownListに表示するアイテムをデザイン時に定義するには、ListItemを使用します。ListItemには、TextとValueプロパティがサポートされていますので、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イベントでは、DropDownListのSelectedItem.Valueプロパティを調べます。Valueプロパティが空白(Empty)のときは、ヘルプ情報を選択していますので無効とします。Valueプロパティが空白以外のときは、SelectedItem.TextとSelectedItem.Valueプロパティの内容をLabelのTextプロパティに設定して表示します。
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にヘルプ情報を表示させるときは、ヘルプ情報を選択したときに無効とする処理を追加する必要があります。サンプルでは、ListItemのValueに空白(Empty)を設定して区別しています。 |