可以使用兩種類型的 ASP.NET 控件將復(fù)選框添加到 Web 窗體頁(yè)上:?jiǎn)为?dú)的 CheckBox 控件或 CheckBoxList 控件。兩種控件都為用戶提供了一種輸入布爾型數(shù)據(jù)(真或假、是或否)的方法。
本文主要介紹CheckBoxList,不言而喻,看到List就知道是一個(gè)列表(集合),一個(gè)控件可以包含多個(gè)CheckBox,下面讓我們來(lái)看看具體的用法。
1.綁定數(shù)據(jù)
復(fù)制代碼 代碼如下:
this.lngCatalogID.DataSource = dt; //這里我綁到DataTable上了.
this.lngCatalogID.DataTextField = "strCatalogName"; //前臺(tái)看到的值,也就是CheckBoxList中顯示出來(lái)的值
this.lngCatalogID.DataValueField = "lngCatalogID"; //這個(gè)值直接在頁(yè)面上是看不到的,但在源代碼中可以看到
this.lngCatalogID.DataBind();
2.獲取鉤選的項(xiàng)
復(fù)制代碼 代碼如下:
foreach(ListItem li in lngCatalogID.Items)
{
if(li.Selected) //表示某一項(xiàng)被選中了
{
//li.Test表示看到的值,對(duì)應(yīng)上面的strCatalogName
//li.Value表示看到的值對(duì)應(yīng)的值.對(duì)應(yīng)上面的lngCatalogID
}
}
3.設(shè)置某項(xiàng)為鉤選狀態(tài)
復(fù)制代碼 代碼如下:
foreach(ListItem li in lngCatalogID.Items)
{
if(li.Value.Equals("鉤選條件")) //如果li.Value值等于某值,就鉤選
{
li.Selected = true; //等于true就表示鉤選啦.
break;
}
}
4.DataGrid中全選
復(fù)制代碼 代碼如下:
foreach(DataGridItem thisItem in DataGridLogininfo.Items)
{
((CheckBox)thisItem.Cells[0].Controls[1]).Checked = CheckBox2.Checked;
}
5.反向選擇
復(fù)制代碼 代碼如下:
for (int i = 0; i checkedListBox1.Items.Count; i++)
{
if (checkedListBox1.GetItemChecked(i))
{
checkedListBox1.SetItemChecked(i, false);
}
else
{
checkedListBox1.SetItemChecked(i, true);
}
}
CheckBoxList控件用法范例
范例一、循環(huán)遍歷每個(gè)選項(xiàng),包含的對(duì)應(yīng)值的設(shè)置為選中狀態(tài)
復(fù)制代碼 代碼如下:
for (int i = 0; i hfAnswers.Value.Split(',').Length; i++)//給CheckBoxList選中的復(fù)選框 賦值
{
for (int j = 0; j CBoxListAnswer.Items.Count; j++)
{
if (hfAnswers.Value.Split(',')[i] == CBoxListAnswer.Items[j].Value)
{
CBoxListAnswer.Items[j].Selected = true;
}
}
}
范例二、循環(huán)來(lái)遍歷讀取每個(gè)選項(xiàng),將選中的選項(xiàng)的值拼接成字符串,以便后續(xù)插入數(shù)據(jù)庫(kù)
復(fù)制代碼 代碼如下:
string m_strTemp = string.Empty;
for (int i = 0; i CBoxListAnswer.Items.Count; i++)//讀取CheckBoxList 選中的值,保存起來(lái)
{
if (CBoxListAnswer.Items[i].Selected)
{
m_strTemp += CBoxListAnswer.Items[i].Value + ",";
}
}
if (!string.IsNullOrEmpty(m_strTemp))
Label1.Text = m_strTemp.Substring(0, m_strTemp.Length - 1);
else
Label1.Text = m_strTemp;
您可能感興趣的文章:- asp.net自定義控件代碼學(xué)習(xí)筆記
- asp.net 自定義控件實(shí)現(xiàn)無(wú)刷新上傳圖片,立即顯示縮略圖,保存圖片縮略圖
- Asp.net 動(dòng)態(tài)加載用戶自定義控件,并轉(zhuǎn)換成HTML代碼
- asp.net DropDownList自定義控件,讓你的分類更清晰
- 關(guān)于asp.net 自定義分頁(yè)控件
- ASP.NET單選按鈕控件RadioButton常用屬性和方法介紹
- 淺談ASP.NET中最簡(jiǎn)單的自定義控件
- ASP.NET中 CheckBox復(fù)選框控件的使用
- ASP.NET中 RadioButtonList 單選按鈕組控件的使用方法
- Asp.net自定義控件之單選、多選控件