gridview+checkbox的各种操作

65 篇文章 0 订阅
62 篇文章 1 订阅

转自:http://blog.csdn.net/pplcheer/article/details/50437363


1.首先如何在gridview中加入一个checkbox,注意不是checkboxfiled

[csharp]  view plain  copy
  1. <Columns>  
  2.     <asp:TemplateField>  
  3.         <ItemTemplate>  
  4.             <asp:CheckBox ID="CheckBox1" runat="server" BorderStyle="None" />//在这儿呢,是的,就是这么简单  
  5.         </ItemTemplate>  
  6.     </asp:TemplateField>  
  7.     <asp:BoundField DataField="countyname" HeaderText="县" FooterText="县区" />  
  8.     <asp:BoundField DataField="DepartmentId" />  
  9. </Columns>  


2.全选功能

找到checkbox1是最重要的:CheckBox cbox=(CheckBox)gridview1.Rows[i].FindControl("CheckBox1");

[csharp]  view plain  copy
  1. for (int i = 0; i < gridview1.Rows.Count; i++)  
  2. {  
  3.     CheckBox cbox = (CheckBox)gridview1.Rows[i].FindControl("CheckBox1");  
  4.     cbox.Checked = true;  
  5. }  

这样就能实现全选功能

3.添加选中的项

[cpp]  view plain  copy
  1. for (int i = 0; i < gridview1.Rows.Count; i++)  
  2. {  
  3.      CheckBox cbox=(CheckBox)gridview1.Rows[i].FindControl("CheckBox1");  
  4.      if (cbox.Checked == true)  
  5.      {  
  6.          //添加数据的代码,三层架构啊,神马神马的。。。                     
  7.      }  
  8. }  

跟全选功能差不多

4.如果要显示数据库中已有的项

就是页面载入给gridview绑定数据的时候,要在RowDataBound事件中完成,没执行一行数据,看符不符合条件让checkbox勾选上

5.访问gridview中隐藏的列

注意,一开始不能就隐藏某列,这样的话是取不到值的

[csharp]  view plain  copy
  1. gridview1.Columns[2].Visible = true;//绑定是多次使用的,所以绑定以前一定要看得到  
  2. DataSet dscounty = Lib.DBUtility.DbHelperSQL.Query("select * from county left join location on county.countyid=location.countyid and DepartmentId='"+Session["DepartmentId"].ToString().Trim()+"' where county.cityaddresscode='"+dw_city.SelectedValue+"'");  
  3. gridview1.DataSource = dscounty;  
  4. gridview1.DataBind();  
  5. gridview1.Columns[2].Visible = false;//绑定之后就让它隐藏,但是是能够访问并取到值得  

===============================================

asp.net gridview中checkbox 单选

[csharp]  view plain  copy
  1. function signcheck(cbox)  
  2.     {  
  3.        
  4.         var obj = document.getElementsByTagName("input");  
  5.         for(var  i=0;i<obj.length;i++)  
  6.         {  
  7.             if(obj[i].type=="checkbox")  
  8.             {  
  9.                 obj[i].checked =false;  
  10.             }   
  11.         }  
  12.          var sid = cbox.id;            
  13.             document.getElementById(sid).checked=true;  
  14.     }  
  15.   
  16.    
  17.   
  18. gridview模板列代码:  
  19.   
  20.  <asp:TemplateField ShowHeader="False" HeaderText="选择">  
  21.                                 <ItemTemplate>                            
  22.                                     <asp:CheckBox ID="CheckboxSign"  runat="server"  />                                 
  23.                                 </ItemTemplate>  
  24.                             </asp:TemplateField>  
  25.   
  26.    
  27.   
  28. gridview数据行数据加载:  
  29.   
  30.  protected void GridViewDuckSeed_RowDataBound(object sender, GridViewRowEventArgs e)  
  31.     {  
  32.         try  
  33.         {  
  34.             CheckBox cb = (CheckBox)e.Row.FindControl("CheckboxSign");  
  35.             if (cb != null)  
  36.                 cb.Attributes.Add("onclick""signcheck(" + cb.ClientID + ")");  
  37.   
  38.         }  
  39.         catch  
  40.         {  
  41.             ;  
  42.         }  
  43.     }  
  44. 通过选择行执行删除操作:  
  45.   
  46.  protected void btnDelete_Click(object sender, EventArgs e)  
  47.     {  
  48.         string DuckNum = "", IsValid = "";  
  49.         foreach (GridViewRow row in GridViewDuckSort.Rows)  
  50.         {  
  51.             CheckBox CheckboxSign = row.FindControl("CheckboxSign"as CheckBox;  
  52.             if (CheckboxSign.Checked == true)  
  53.             {  
  54.                 DuckNum = row.Cells[1].Text.ToString();  
  55.                 IsValid = row.Cells[3].Text.ToString();  
  56.             }  
  57.         }  
  58.   
  59.         if (!string.IsNullOrEmpty(DuckNum))          
  60.           Master.MessageBox("可执行删除操作!");  
  61.          else  
  62.                 Master.MessageBox("没有选择数据操作无效!");  
  63.   
  64.         }  
  65.   
  66.     }  
如何让checkbox复选框只能单选
[javascript]  view plain  copy
  1. $("#txm").find(".checkbox").each(function(){                                             
  2.    $(this).click(function(){                            
  3.    var test= $(this).attr("checked");        
  4.     if(this.checked){    
  5.         GetData(this.value);    
  6.      $(this).parent("div").siblings().children(".checkbox").each(function(){    
  7.     if(test== this.checked){                
  8.        this.checked = false;     
  9.       }           
  10.      });         
  11.     }         
  12.    });       
  13.   });    
  14. });    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值