CheckBoxList Web サーバー コントロールの宣言構文
更新 : 2007 年 11 月
複数選択のチェック ボックス グループを作成します。このコントロールは、データ ソースへのバインディングをサポートします。
<asp:CheckBoxList
AccessKey="string"
AppendDataBoundItems="True|False"
AutoPostBack="True|False"
BackColor="color name|#dddddd"
BorderColor="color name|#dddddd"
BorderStyle="NotSet|None|Dotted|Dashed|Solid|Double|Groove|Ridge|
Inset|Outset"
BorderWidth="size"
CausesValidation="True|False"
CellPadding="integer"
CellSpacing="integer"
CssClass="string"
DataMember="string"
DataSource="string"
DataSourceID="string"
DataTextField="string"
DataTextFormatString="string"
DataValueField="string"
Enabled="True|False"
EnableTheming="True|False"
EnableViewState="True|False"
Font-Bold="True|False"
Font-Italic="True|False"
Font-Names="string"
Font-Overline="True|False"
Font-Size="string|Smaller|Larger|XX-Small|X-Small|Small|Medium|
Large|X-Large|XX-Large"
Font-Strikeout="True|False"
Font-Underline="True|False"
ForeColor="color name|#dddddd"
Height="size"
ID="string"
OnDataBinding="DataBinding event handler"
OnDataBound="DataBound event handler"
OnDisposed="Disposed event handler"
OnInit="Init event handler"
OnLoad="Load event handler"
OnPreRender="PreRender event handler"
OnSelectedIndexChanged="SelectedIndexChanged event handler"
OnTextChanged="TextChanged event handler"
OnUnload="Unload event handler"
RepeatColumns="integer"
RepeatDirection="Horizontal|Vertical"
RepeatLayout="Table|Flow"
runat="server"
SelectedIndex="integer"
SelectedValue="string"
SkinID="string"
Style="string"
TabIndex="integer"
TextAlign="Left|Right"
ToolTip="string"
ValidationGroup="string"
Visible="True|False"
Width="size"
>
<asp:ListItem
Enabled="True|False"
Selected="True|False"
Text="string"
Value="string"
/>
</asp:CheckBoxList>
解説
CheckBoxList コントロールは、データ バインディングを使用して動的に生成できる、複数選択のチェック ボックス グループを作成します。CheckBoxList コントロールに表示する項目を指定するには、CheckBoxList コントロールの開始タグと終了タグの間に、各エントリの ListItem 要素を挿入します。
![]() |
---|
複数の CheckBox コントロールを使用することもできます。データ バインディングを使用してチェック ボックスのセットを作成する場合は、CheckBoxList コントロールを使用する方が簡単です。しかし、個別の CheckBox コントロールを使用する方が、レイアウトを柔軟に制御できます。 |
CheckBoxList コントロールは、データ バインディングもサポートします。コントロールをデータ ソースにバインドするには、まず、コントロールに表示する項目を格納する DataSourceControl オブジェクトなどのデータ ソースを作成します。次に、DataBind メソッドを使用して、データ ソースを CheckBoxList コントロールにバインドします。DataTextField プロパティと DataValueField プロパティを使用して、コントロール内の各リスト項目の Text プロパティと Value プロパティにバインドするデータ ソース フィールドをそれぞれ指定します。これで、CheckBoxList コントロールに、データ ソースの情報が表示されるようになります。
CheckBoxList コントロールで選択されている項目を確認するには、Items コレクションを反復処理して、コレクション内の各項目の Selected プロパティを調べます。
RepeatLayout プロパティと RepeatDirection プロパティを使用することにより、リストが表示される方法を指定できます。RepeatLayout が RepeatLayout.Table に設定されている場合 (既定の設定)、リストはテーブル内に表示されます。RepeatLayout.Flow に設定されている場合、リストはテーブル構造を使用せずに表示されます。既定では、RepeatDirection は RepeatDirection.Vertical に設定されています。このプロパティを RepeatDirection.Horizontal に設定すると、リストは水平方向に表示されます。
![]() |
---|
テキストは、CheckBoxList コントロールに表示される前には HTML エンコードされません。これにより、テキストの HTML タグ内にスクリプトを埋め込むことができるようになります。コントロールの値がユーザーによって入力された場合は、セキュリティの脆弱性への対策として、入力された値を必ず検証してください。 |
CheckBoxList Web サーバー コントロールのプロパティとイベントの詳細については、CheckBoxList クラスのドキュメントを参照してください。
使用例
.aspx ファイルで CheckBoxList コントロールを宣言する方法を次の例に示します。このリストには 6 つの項目が含まれており、同時に複数の項目を選択できます。ユーザーがいずれかのボックスをオンにしたときに、ページがすぐにサーバーにポスト バックされるわけではありません。ページがポスト バックされるのは、Button クリックなどの他のイベントが発生したときです。OnSelectedIndexChanged イベントに対するメソッドが宣言されていないため、そのイベントのハンドラは呼び出されません。
<asp:CheckBoxList id="Check1"
RepeatLayout="flow"
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>
<asp:CheckBoxList id="Check1"
RepeatLayout="flow"
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>
CheckBoxList コントロール内で選択されているチェック ボックスを確認する方法を次の例に示します。このコードは、コントロールの Items コレクションを反復処理して、各項目の Selected プロパティを調べます。その後、選択されている項目が Label コントロールに表示されます。
Sub Button1_OnClick(ByVal sender As Object, ByVal e As EventArgs)
Dim s As String
Dim i As Integer
s = "Selected items:<br />"
For i = 0 To Check1.Items.Count - 1
If Check1.Items(i).Selected Then
s = s & Check1.Items(i).Text & "<br />"
End If
Next i
Label1.Text = s
End Sub
void Button1_OnClick(Object sender, EventArgs e)
{
string s;
s = "Selected items:<br />";
for (int i = 0; i < Check1.Items.Count; i++)
{
if (Check1.Items[i].Selected)
{
s = s + Check1.Items[i].Text + "<br />";
}
}
Label1.Text = s;
}