WebSurfer's Home

""

CheckBoxList

CheckBoxList を RadioButtonList のように使って、選択結果を表示します。 もともと RadioButtonList を使えば済む話で無駄なことかもしれませんが、せっかく作ったので(笑)・・・


Select items from the CheckBoxList.



コードは以下のとおりです。

<%@ Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server"> // CheckBoxList を RadioButtonList のように使って、選択結果を表示。 // もともと RadioButtonList を使えば済む話で無駄なことかも。 void Check_Clicked(Object sender, EventArgs e) { object obj = ViewState["ItemNumber"]; int i; int count = 0; for (i = 0; i < checkboxlist1.Items.Count; i++) { if (checkboxlist1.Items[i].Selected) { count++; if (obj != null) { int prev = (int)obj; if (i == prev) { checkboxlist1.Items[i].Selected = false; } else { Message.Text = "Selected Item:" + checkboxlist1.Items[i].Text; ViewState["ItemNumber"] = i; } } else { Message.Text = "Selected Item:" + checkboxlist1.Items[i].Text; ViewState["ItemNumber"] = i; } } } if (count == 0 && obj != null) { Message.Text = String.Empty; ViewState["ItemNumber"] = null; } } </script> <html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1" runat="server"> <title> CheckBoxList Example </title> </head> <body> <form id="form2" runat="server"> Select items from the CheckBoxList. <br /><br /> <asp:CheckBoxList id="checkboxlist1" AutoPostBack="True" OnSelectedIndexChanged="Check_Clicked" runat="server"> <asp:ListItem>Item 1</asp:ListItem> <asp:ListItem>Item 2</asp:ListItem> <asp:ListItem>Item 3</asp:ListItem> <asp:ListItem>Item 4</asp:ListItem> <asp:ListItem>Item 5</asp:ListItem> <asp:ListItem>Item 6</asp:ListItem> </asp:CheckBoxList> <br /> <asp:label id="Message" runat="server" AssociatedControlID="checkboxlist1"/> </form> </body> </html>