zoukankan      html  css  js  c++  java
  • ASP.NET CheckBoxList复选框

     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;                    
           
    break;
          }        
        }

    反向选择

    for (int i = 0; i < checkedListBox1.Items.Count; i++)
                {
                    
    if (checkedListBox1.GetItemChecked(i))
                    {
                        checkedListBox1.SetItemChecked(i, 
    false);
                    }
                    
    else
                    {
                        checkedListBox1.SetItemChecked(i, 
    true);
                    }
                }


    #region 设置或者得到CheckBoxList选中了的值
            
    /// <summary>
            
    /// 初始化CheckBoxList中哪些是选中了的         
            
    /// </summary>
            
    /// <param name="checkList">CheckBoxList</param>
            
    /// <param name="selval">选中了的值串例如:"0,1,1,2,1"</param>
            
    /// <param name="separator">值串中使用的分割符例如"0,1,1,2,1"中的逗号</param>
            public string SetChecked(CheckBoxList checkList,string selval,string separator)
            {
                selval 
    = separator + selval + separator;        //例如:"0,1,1,2,1"->",0,1,1,2,1,"
                for(int i=0; i<checkList.Items.Count; i++)
                {
                    checkList.Items[i].Selected 
    = false;
                    
    string val = separator + checkList.Items[i].Value + separator;
                    
    if(selval.IndexOf(val)!=-1)
                    {
                        checkList.Items[i].Selected 
    = true;
                        selval 
    = selval.Replace(val,separator);        //然后从原来的值串中删除已经选中了的
                        if(selval == separator)        //selval的最后一项也被选中的话,此时经过Replace后,只会剩下一个分隔符
                        {        
                            selval 
    += separator;        //添加一个分隔符
                        }
                    }
                }
                selval 
    = selval.Substring(1,selval.Length-2);        //除去前后加的分割符号
                return selval;
            }
            
    ///// <summary>
            
    /// 得到CheckBoxList中选中了的值
            
    /// </summary>
            
    /// <param name="checkList">CheckBoxList</param>
            
    /// <param name="separator">分割符号</param>
            
    /// <returns>01,02,03</returns>
            public string GetChecked(CheckBoxList checkList, string separator)
            {
                
    string selval = "";
                
    for (int i = 0; i < checkList.Items.Count; i++)
                {
                    
    if (checkList.Items[i].Selected)
                    {
                        selval 
    += checkList.Items[i].Value + separator;
                    }
                }
                
    if (selval.Length > 1)
                {
                    selval 
    = selval.Substring(0, selval.Length - 1);
                }
                
    return selval;
            }
     

    #endregion 


    作者:罗敏贵
    邮箱:minguiluo@163.com
    QQ群:34178394 建群 主要是寻找志同道合的人士一起学习和讨论自己的所学所思
    出处:http://luomingui.cnblogs.com/
    说明:专注于微软平台项目架构、熟悉设计模式、架构设计、敏捷个人和项目管理。现主要从事WinForm、ASP.NET、等方面的项目开发、架构、管理工作。文章为作者平时里的思考和练习,可能有不当之处,请博客园的园友们多提宝贵意见。
    知识共享许可协议本作品采用知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议进行许可。

  • 相关阅读:
    Configuration Error <providerOption name="CompilerVersion" value="v3.5"/>
    destoon3.0 用户模板首页应用新模板无效不能立即刷新的解决方法
    改变kingcms默认拼音路径格式/修改kingcms拼音路径
    VB正则表达式
    kingcms 友情链接中 设置为推荐 取消推荐 设置为头条 取消头条,以及设置为up的bug
    kingcms5部分BUG修复和修改技巧
    SqlServer 函数 大全
    图文讲解NTFS和FAT32硬盘下 asp.net 生成word 错误: 80070005 和 错误:8000401a 的解决方法
    destoon3.0 后台公司模板 安装新模板提示“CSS文件不存在”及其解决方法
    asp.net报错:“System.NullReferenceException: 未将对象引用设置到对象的实例”
  • 原文地址:https://www.cnblogs.com/luomingui/p/2127495.html
Copyright © 2011-2022 走看看