RadioButtonコントロール

RadioButtonコントロール  RadioButtonListコントロール

 RadioButtonコントロール、RadioButtonListコントロールはWebページ上にラジオボタンを表示します。複数の項目から、一つ選択する際に使用します。 RadioButtonコントロールは単体のラジオボタンを表示し、RadioButtonListコントロールはグループ化してリスト表示します。

■ 主なプロパティ(RadioButton)

プロパティ名 概要
Checked RadioButtonコントロールがチェックされているかどうかを示す値を取得・設定する
GroupName RadioButtonコントロールが所属するグループ名を取得・設定する
Text RadioButtonコントロールの表示内容を取得・設定する
RadioButtonの主なプロパティ

■ 主なプロパティ(RadioButtonList)

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

■ 主なイベント(RadioButtonList)

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

 CheckBox、CheckBoxListコントロールと同様にチェックする方法が異なります。RadioButtonコントロールはCheckedプロパティで、RadioButtonListコントロールはItemsプロパティのコレクションから取得します。また、RadioButtonコントロールではGroupNameプロパティに同じ名前を設定することで、その中で一つ選択することができるようになります。 

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

サンプルダウンロード

○ 作成の準備

 「CheckBoxTest」プロジェクトを修正して作成しましょう。CheckBoxTestフォルダーをコピーして、作成するプロジェクト名にフォルダー名を変更してください。

○ デザイン

 次の図のようにコントロールの配置を変更してください。Label、Buttonコントロールはそのまま利用します。

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

○ プログラム

 次のように各イベントハンドラを記述してください。chkList_SelectedIndexChangedイベントは使用しないので削除してください。その代わりにrdoList_SelectedIndexChangedイベントハンドラを使用します。rdoListをダブルクリックするとスケルトンが表示されます。

index.aspx.cs

  1. protected void Page_Load(object sender, EventArgs e)
  2. {
  3.  //ポストバックのときは処理しない
  4.  if (this.IsPostBack)
  5.  {
  6.   return;
  7.  }
  8.  //RadioButtonListコントロールに項目をセットする
  9.  this.rdoList.Items.Add("りんご");
  10.  this.rdoList.Items.Add("ばなな");
  11.  this.rdoList.Items.Add("みかん");
  12.  this.rdoList.Items.Add("もも");
  13.  this.rdoList.Items.Add("なし");
  14. }
  15. protected void btnSend_Click(object sender, EventArgs e)
  16. {
  17.  //チェックの状態を表示
  18.  if (this.rdoOn.Checked)
  19.  {
  20.   this.lblMessageTop.Text = "ON";
  21.  }
  22.  else
  23.  {
  24.   this.lblMessageTop.Text = "OFF";
  25.  }
  26. }
  27. protected void rdoList_SelectedIndexChanged(object sender, EventArgs e)
  28. {
  29.  //チェックされている項目をループして検索
  30.  this.lblMessageBottom.Text = string.Empty;
  31.  foreach (ListItem li in this.rdoList.Items)
  32.  {
  33.   if (li.Selected)
  34.   {
  35.    this.lblMessageBottom.Text = li.Value;
  36.   }
  37.  }
  38. }

○ 実行結果

実行結果
実行結果

○ 解説

 基本的にはCheckBox、CheckBoxListコントロールと同じです。異なるのは、複数の中から選択されるのが一つであるという点です。そのため49行目では、選択された項目を1つだけ表示するようにしています。

前へ   次へ