可以使用两种类型的 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;
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。