可以使用两种类型的 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(ListItem li in lngCatalogID.Items) { if(li.Selected) //表示某一项被选中了 { //li.Test表示看到的值,对应上面的strCatalogName //li.Value表示看到的值对应的值.对应上面的lngCatalogID } }
3.设置某项为钩选状态
foreach(ListItem li in lngCatalogID.Items) { if(li.Value.Equals("钩选条件")) //如果li.Value值等于某值,就钩选 { li.Selected = true; //等于true就表示钩选啦. break; } }
4.DataGrid中全选
foreach(DataGridItem thisItem in DataGridLogininfo.Items) { ((CheckBox)thisItem.Cells[0].Controls[1]).Checked = CheckBox2.Checked; }
5.反向选择
for (int i = 0; i < checkedListBox1.Items.Count; i++) { if (checkedListBox1.GetItemChecked(i)) { checkedListBox1.SetItemChecked(i, false); } else { checkedListBox1.SetItemChecked(i, true); } }
CheckBoxList控件用法范例
范例一、循环遍历每个选项,包含的对应值的设置为选中状态
for (int i = 0; i < hfAnswers.Value.Split(',').Length; i++)//给CheckBoxList选中的复选框 赋值 { for (int j = 0; j < CBoxListAnswer.Items.Count; j++) { if (hfAnswers.Value.Split(',')[i] == CBoxListAnswer.Items[j].Value) { CBoxListAnswer.Items[j].Selected = true; } } }
范例二、循环来遍历读取每个选项,将选中的选项的值拼接成字符串,以便后续插入数据库
string m_strTemp = string.Empty; for (int i = 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;
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。