DropDownListコントロール

DropDownListコントロール

 DropDownListコントロールはWebページにドロップダウンリストを表示します。

■ 主なプロパティ

プロパティ名 概要
Items DropDownListコントロールの項目のコレクションを取得する
SelectedIndex DropDownListコントロール内の選択された項目のインデックスを取得・設定する
SelectedItem DropDownListコントロール内の選択された項目を取得・設定する
SelectedValue DropDownListコントロール内の選択された項目の値を取得・設定する
DropDownListの主なプロパティ

■ 主なイベント

イベント名 概要
SelectedIndexChanged DropDownListコントロール内の選択項目が変更されたときに発生する
DropDownListの主なイベント

 ドロップダウンリストでは、複数の項目からひとつの項目を選択することができます。選択された項目は、SelectedItemプロパティによって取得できます。また、DropDownListに項目を追加するには、Itemsプロパティのコレクションの持っているAddメソッドを実行します。

プロジェクトの種類 ASP.NET Webアプリケーション
プロジェクト名 DropDownListTest

サンプルダウンロード

○ デザイン

 Webフォームを追加して、次の図のように各コントロールを配置してください。

コントロールの配置例
コントロールの配置例

 デザイナーでDropDownListの項目を追加するには、プロパティウィンドウよりItemsプロパティのボタンを押し、次の図のようなダイアログを表示します。そして、「追加」ボタンで項目を追加し、「Text」プロパティに項目名を設定します。

項目の追加
項目の追加

○ プログラム

 次のように各イベントハンドラを記述してください。dlBottom_SelectedIndexChangedイベントは、dlBottomをダブルクリックするとスケルトンが表示されます。

index.aspx.cs

  1. protected void Page_Load(object sender, EventArgs e)
  2. {
  3.  //ポストバックのときは実行しないようにする
  4.  if (this.IsPostBack)
  5.  {
  6.   return;
  7.  }
  8.  //ドロップダウンリストに項目を追加する
  9.  this.dlTop.Items.Add("日本");
  10.  ListItem li = new ListItem("アメリカ", "us");
  11.  this.dlTop.Items.Add(li);
  12.  this.dlTop.Items.Add(new ListItem("中国", "ch"));
  13. }
  14. protected void Button1_Click(object sender, EventArgs e)
  15. {
  16.  //選択内容をラベルに表示
  17.  this.lblMessageTop.Text = this.dlTop.SelectedValue + "が選択されました。";
  18. }
  19. protected void dlBottom_SelectedIndexChanged(object sender, EventArgs e)
  20. {
  21.  //選択内容をラベルに表示
  22.  this.lblMessageBottom.Text = this.dlBottom.SelectedValue + "が選択されました。";
  23. }

○ 実行結果

実行結果
実行結果

○ 解説

 15~18行目では、ポストバックのときにPage_Loadイベントを実行しないようにしています。この処理を追加しないと、ポストバックのたびにdlTopに項目が追加されてしまいます。

 21~24行目ではdlTopに項目を追加しています。3つの方法で追加しています。21行目では、itemsプロパティのAddメソッドの引数に項目名を渡す方法です。22行目では項目を表わすListItemオブジェクトを生成して23行目で追加しています。24行目では、追加するときにListItemオブジェクトを生成しています。

 30、36行目では選択した項目をそれぞれのLabelコントロールに表示しています。

前へ   次へ