상세 컨텐츠

본문 제목

데이터 다중 선택 입력 컨트롤 사용법

C++,C#, ASP.NET

by 김일국 2010. 10. 19. 23:08

본문

<%@ Page Language="C#" AutoEventWireup="true" <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

         CodeFile="FrmInputControl.aspx.cs" Inherits="FrmInputControl" %>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


<html xmlns="http://www.w3.org/1999/xhtml" >

<head runat="server">

    <title>데이터 입력 관련 컨트롤</title>

</head>

<body>

<form id="form1" runat="server">

<div>

  <table style="width: 500px">

    <tr>

      <td style="width: 200px">

        체크박스(이용약관):</td>

      <td style="width: 100px">

        <asp:CheckBox ID="chkAgree" runat="server" Text="동의합니다."

          Checked="true" Width="122px" />

      </td>

    </tr>

    <tr>

      <td style="width: 200px">

        체크박스리스트(취미):</td>

      <td style="width: 100px">

        <asp:CheckBoxList ID="lstHobby" runat="server"

          RepeatColumns="2" RepeatDirection="Horizontal"

          RepeatLayout="Flow" Width="202px">

          <asp:ListItem Selected="True" Value="S">축구</asp:ListItem>

          <asp:ListItem Value="V">배구</asp:ListItem>

          <asp:ListItem Selected="True" Value="B">농구</asp:ListItem>

        </asp:CheckBoxList>

      </td>

    </tr>

    <tr>

      <td style="width: 200px">

        라디오버튼(성별):</td>

      <td style="width: 100px">

        <asp:RadioButton ID="rdoMan" runat="server"

          Text="남자" GroupName="Gender" Checked="true" />

        <asp:RadioButton ID="rdoWomen" runat="server"

          Text="여자" GroupName="Gender" />

      </td>

    </tr>

    <tr>

      <td style="width: 200px">

        라디오버튼리스트(결혼):</td>

      <td style="width: 100px">

        <asp:RadioButtonList ID="lstWedding" runat="server"

          RepeatDirection="horizontal"

          RepeatLayout="Flow" Width="110px">

          <asp:ListItem Selected="True">미혼</asp:ListItem>

          <asp:ListItem>기혼</asp:ListItem>

        </asp:RadioButtonList>

      </td>

    </tr>

    <tr>

      <td style="width: 200px; height: 24px">

        드롭다운리스트(단일선택)</td>

      <td style="width: 100px; height: 24px">

        <asp:DropDownList ID="lstJob" runat="server">

          <asp:ListItem>회사원</asp:ListItem>

          <asp:ListItem Selected="True">공무원</asp:ListItem>

          <asp:ListItem>백수</asp:ListItem>

        </asp:DropDownList>

      </td>

    </tr>

    <tr>

      <td style="width: 200px">

        리스트박스(다중선택)</td>

      <td style="width: 100px">

        <asp:ListBox ID="lstFavorite" runat="server"

          SelectionMode="Multiple"></asp:ListBox>

      </td>

    </tr>

  </table>

  <br />

  <asp:Button ID="btnOK" runat="server" Text="확인"

    onClick="btnOK_Click" /><br />

  <br />

  <asp:Label ID="lblDisplay" runat="server" />

</div>

</form>

</body>

</html>

 

 

 

using System;

using System.Data;

using System.Configuration;

using System.Collections;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

using System.Text;


public partial class FrmInputControl : System.Web.UI.Page

{

  protected void Page_Load(object sender, EventArgs e)

  {

    // Page.IsPostBack : 처음로드하면 false, 포스트백(다시게시)되면 true

    if (!Page.IsPostBack) // 처음로드할 때에만...

    {

      BindFavorite();

    }

  }

  private void BindFavorite()

  {

    // 관심사 채우기(공통)

    lstFavorite.Items.Add("C#");

    this.lstFavorite.Items.Add("ASP.NET");


    ListItem li = new ListItem();

    li.Text = "비베";

    li.Value = "VB";

    this.lstFavorite.Items.Add(li);


    ListItem listItem = new ListItem("닷넷", ".NET");

    this.lstFavorite.Items.Add(listItem);

  }

  protected void btnOK_Click(object sender, EventArgs e)

  {

    //[0] 문자열 변수 선언 : StringBuilder 클래스 사용

    StringBuilder sb = new StringBuilder();


    //[1] 체크박스의 내용 가져오기 : 단일값

    if (this.chkAgree.Checked)

    {

      sb.Append("[1] " + this.chkAgree.Text + "<br />");      

    }


    //[2] 체크박스리스트의 내용 가져오기 : 다중값

    if (this.lstHobby.Items[0].Selected)

    {

      sb.Append("[2] " + this.lstHobby.Items[0].Value + "<br />");

    }

    if (this.lstHobby.Items[1].Selected)

    {

      sb.AppendFormat("[2] {0}<br/>", this.lstHobby.Items[1].Value);

    }

    if (this.lstHobby.Items[2].Selected)

    {

      sb.AppendFormat("[2] {0}<br/>", this.lstHobby.Items[2].Value);

    }


    //[3] 라디오버튼 값 받아오기 : 단일값

    if (this.rdoMan.Checked)

    {

      sb.AppendFormat("[3] {0} 선택<br />", rdoMan.Text);

    }

    else

    {

      sb.AppendFormat("[3] {0} 선택<br />", rdoWomen.Text);    

    }


    //[4] 라디오버튼리스트 값 받아오기 : 단일값

    sb.AppendFormat("[4] {0}<br />", lstWedding.SelectedItem.Text);


    //[5] 드롭다운리스트 값 받아오기 : 단일값

    sb.AppendFormat("[5] {0}<br />",

    lstJob.Items[lstJob.SelectedIndex].Value);


    //[6] 리스트박스 : 다중값

    for (int i = 0; i < lstFavorite.Items.Count; i++)

    {

      if (lstFavorite.Items[i].Selected)

      {

        sb.AppendFormat("[6] {0}<br />", lstFavorite.Items[i].Value);

      }       

    }

    //--OR--

    foreach (ListItem li in lstFavorite.Items)

    {

      if (li.Selected)

      {

        sb.AppendFormat("[6] {0}<br />", li.Text);     

      }       

    }


    //[!] 출력

    this.lblDisplay.Text = sb.ToString();

  }

}

 

관련글 더보기

댓글 영역