• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ASP.NETCheckBoxList复选框

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

 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 

 


 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
谈谈用ASP.NET开发的大型网站有哪些架构方式(成本)发布时间:2022-07-10
下一篇:
ASP.NETMVC(二)——ASP.NETMVC数据传递发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap