CheckBox選擇組件是一個程序中都經常的組件。在程序設計中使用到該組件,一般都不會只使用到一個,往往是以多個此類組件的形式出現的。在ASP.NET頁面中如果要使用到多個CheckBox組件,除了添加多個CheckBox組件在頁面中之外,還有一種比較方便的方法,就是使用CheckBoxList組件。CheckBoxList組件是由一組的CheckBox組件組成的,在此組件中CheckBox是做為條目的形式出現的,並且對每個在CheckBoxList組件中的CheckBox都有一個索引號,這樣在程序中就更容易來處理了。
這時你可能要問,這不是多此一舉麼,既然有了CheckBox組件,還要CheckBoxList組件干什麼?這是因為在程序設計的過程中,處理CheckBoxList組件要往往要比處理CheckBox組件相對容易的多並且也明了的多。舉例如下:
假定有一個CheckBoxList組件和有十個CheckBox組件,並且這個CheckBoxList組件是由這十個CheckBox組件構成的。為了檢測這十個CheckBox組件中的哪些已經被選擇的,如果程序中選用的CheckBox組件就需要如下代碼:
if ( C1 . Checked )
{
}
if ( C2 . Checked )
{
}
....
if ( C10 . Checked )
{
}
但如果程序中使用了CheckBoxList組件,就只需要以下這幾行代碼就可以了:
for ( int i = 0 ; i < CHK . Items . Count ; i++ )
{
if ( CHK . Items [ i ] . Selected )
{
//處理你要完成的工作
}
}
注釋:其中C1 -- C10是CheckBox組件,CHK是CheckBoxList組件
可見用了CheckBoxList組件,在程序設計中的確更明了,更簡潔了。並且只要你掌握了CheckBoxList組 件的用法,CheckBox組件的用法大致也就會了。
一. 如何在創建一個CheckBoxList組件:
<asp:CheckBoxList runat = "server" id = C1 >
<asp:ListItem Value = 1 >第一個檢查框</asp:ListItem >
<asp:ListItem Value = 2 >第二個檢查框</asp:ListItem >
<asp:ListItem Value = 3 >第三個檢查框</asp:ListItem >
.....
注釋:在這裡可以加入若干個檢查框
</asp:CheckBoxList >
在ASP.NET頁面中加入上面的語句,就可以產生一個名稱為"C1"的CheckBoxList組件了。
二. CheckBoxList組件中經常使用到的屬性:
I > .TextAlign屬性:取值為:Left、Right。如果TextAlign的值為Left則CheckBoxList組件中的檢查框的文字在選框的左邊,同理如果TextAlign的值為Right則檢查框的文字在選框的右邊。
II > .Selected屬性:為布爾型,判定組件中的檢查框是否被選中。
III > .RepeatColumns屬性:在CheckBoxList組件中有若干檢查框,此屬性主要是設定這些檢查框到底用多少行來顯示。
IV > .RepeatDirection屬性:此屬性的值可為:Vertical、Horizontal。當設定了RepeatColumns屬性後,設定此屬性是如何排列組件中的各個檢查框的。具體如下:
假定CheckBoxList組件有四個檢查框,並且RepeatColumns屬性值為2。
(1).如果RepeatDirection = Vertical,則在頁面中檢查框的顯示方式如下:
檢查框01 檢查框03
檢查框02 檢查框04
(2).如果RepeatDirection = Horizontal,則在頁面中檢查框的顯示方式如下:
檢查框01 檢查框02
檢查框03 檢查框04
V > .Count屬性:返回CheckBoxList組件中有多少檢查框。
三. CheckBoxList組件中經常使用到的方法:
(1).在組件中增加一個檢查框,語法如下:
CHKList . Items . Add ( new ListItem ( < text > , < value > ) )
(2).訪問組件中的檢查框,語法如下:
CHKList . Items [ < index > ]
(3).刪除組件中的檢查框,語法如下:
CHKList . Items . Remove ( < index > )
四. 實例介紹CheckBoxList組件的使用方法:
(1).如何判定選擇了組件中的哪些檢查框:
在程序中,是通過處理Selected屬性和Count屬性來完成的,具體如下:
for ( int i = 0 ; i < ChkList . Items . Count ; i++ )
{
if( ChkList . Items [ i ] . Selected )
{
lblResult . Text += ChkList . Items [ i ] .Text + " <br > " ;
}
}
(2).如何設定CheckBoxList組件的外觀布局:
CheckBoxList組件有比較多的屬性來設定它的外觀,在本文介紹的程序中,主要是通過四個方面來設定組件的外觀布局的:組件中的檢查框中的文本和選框的排列位置、組件中各個檢查框布局、組件中各個檢查框排列方向和組件中各個檢查框的排列行數,具體的程序代碼如下:
//組件中的檢查框中的文本和選框的排列位置
switch ( cboAlign . SelectedIndex )
{
case 0 :
ChkList . TextAlign = TextAlign . Left ;
break ;
case 1 :
ChkList . TextAlign = TextAlign . Right ;
break ;
}
//組件中各個檢查框布局
switch ( cboRepeatLayout . SelectedIndex )
{
case 0 :
ChkList . RepeatLayout = RepeatLayout . Table ;
break ;
case 1 :
ChkList . RepeatLayout = RepeatLayout . Flow ;
break ;
}
//組件中各個檢查框排列方向
switch ( cboRepeatDirection . SelectedIndex)
{
case 0 :
ChkList . RepeatDirection = RepeatDirection . Vertical ;
break ;
case 1 :
ChkList . RepeatDirection = RepeatDirection . Horizontal ;