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;