ASP.NET中CheckBoxList复选框列表控件详细使用方法
可以使用两种类型的ASP.NET控件将复选框添加到Web窗体页上:单独的CheckBox控件或CheckBoxList控件。两种控件都为用户提供了一种输入布尔型数据(真或假、是或否)的方法。
本文主要介绍CheckBoxList,不言而喻,看到List就知道是一个列表(集合),一个控件可以包含多个CheckBox,下面让我们来看看具体的用法。
1.绑定数据
this.lngCatalogID.DataSource=dt;//这里我绑到DataTable上了. this.lngCatalogID.DataTextField="strCatalogName";//前台看到的值,也就是CheckBoxList中显示出来的值 this.lngCatalogID.DataValueField="lngCatalogID";//这个值直接在页面上是看不到的,但在源代码中可以看到 this.lngCatalogID.DataBind();
2.获取钩选的项
foreach(ListItemliinlngCatalogID.Items)
{
if(li.Selected) //表示某一项被选中了
{
//li.Test表示看到的值,对应上面的strCatalogName
//li.Value表示看到的值对应的值.对应上面的lngCatalogID
}
}
3.设置某项为钩选状态
foreach(ListItemliinlngCatalogID.Items)
{
if(li.Value.Equals("钩选条件")) //如果li.Value值等于某值,就钩选
{
li.Selected=true; //等于true就表示钩选啦.
break;
}
}
4.DataGrid中全选
foreach(DataGridItemthisIteminDataGridLogininfo.Items)
{
((CheckBox)thisItem.Cells[0].Controls[1]).Checked=CheckBox2.Checked;
}
5.反向选择
for(inti=0;i<checkedListBox1.Items.Count;i++)
{
if(checkedListBox1.GetItemChecked(i))
{
checkedListBox1.SetItemChecked(i,false);
}
else
{
checkedListBox1.SetItemChecked(i,true);
}
}
CheckBoxList控件用法范例
范例一、循环遍历每个选项,包含的对应值的设置为选中状态
for(inti=0;i<hfAnswers.Value.Split(',').Length;i++)//给CheckBoxList选中的复选框赋值
{
for(intj=0;j<CBoxListAnswer.Items.Count;j++)
{
if(hfAnswers.Value.Split(',')[i]==CBoxListAnswer.Items[j].Value)
{
CBoxListAnswer.Items[j].Selected=true;
}
}
}
范例二、循环来遍历读取每个选项,将选中的选项的值拼接成字符串,以便后续插入数据库
stringm_strTemp=string.Empty;
for(inti=0;i<CBoxListAnswer.Items.Count;i++)//读取CheckBoxList选中的值,保存起来
{
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;