欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ASP.NET中CheckBoxList复选框列表控件详细使用方法

程序员文章站 2023-12-19 12:16:22
可以使用两种类型的 asp.net 控件将复选框添加到 web 窗体页上:单独的 checkbox 控件或 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(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;

上一篇:

下一篇: