gridview_checkbox

来源:互联网 发布:淘宝网山地自行车配件 编辑:程序博客网 时间:2024/05/26 17:46

GridView中CheckBox、CheckBoxField取值的方法集

直接通过GridView的cells取CheckBox的值都是空串,在网上查询之后,有三种解决方案,将其收藏。

一、CheckBoxField取值的方法:

前台代码:

  1. <asp:GridViewID="GridView1"runat="server"Width="418px"> 
  2.      <Columns> 
  3.          <asp:CheckBoxFieldDataField="是否有效"HeaderText="有效性"/> 
  4.      </Columns> 
  5. </asp:GridView> 

后台代码:

  1. CheckBox cb = (CheckBox)GridView_Users.SelectedRow.Cells[6].Controls[0]; 
  2. if(cb!=null)  CheckBox_Available.Checked = cb.Checked; 

二、CheckBox取值:

方法一:(C#)

操作:

view plaincopy to clipboardprint?
  1. string PKname=""
  2. foreach (GridViewRow GR inthis.GridView1.Rows) 
  3.     CheckBox CB = (CheckBox)GR.FindControl("CheckBox1"); 
  4.     if (CB.Checked) 
  5.     { 
  6.         PKname += this.GridView1.DataKeys[GR.RowIndex].Value.ToString()+","
  7.     } 

补充:前台<asp:CheckBox ID="CheckBox1" runat="server" Text=' <%#Eval("列名") %>'/>

实例:前台代码

view plaincopy to clipboardprint?
  1. <Columns>  
  2.    <asp:TemplateFieldHeaderText="选择">  
  3.       <HeaderStyleHorizontalAlign="Center"Height="25px"Width="45px"/>  
  4.       <ItemTemplate>  
  5.          <asp:CheckBoxID="ckb"runat="server"/>  
  6.       </ItemTemplate>  
  7.    </asp:TemplateField>  
  8.    <asp:BoundFieldDataField="sid"HeaderText="编号"/>  
  9.    <asp:BoundFieldDataField="cname"HeaderText="姓名"/>     
  10. </Columns>  

实例:后台代码

view plaincopy to clipboardprint?
  1. foreach (GridViewRow gvrin this.GridView1.Rows)  
  2. {  
  3.      Control ctl = gvr.FindControl("ckb");  
  4.      CheckBox ck = (CheckBox)ctl;  
  5.      if (ck.Checked)  
  6.      {  
  7.          TableCellCollection cell = gvr.Cells;  
  8.          string wid += cell[1].Text+",";  
  9.      }  
  10. }  

方法二:(VB)

GridView->设置DataKeyNames

view plaincopy to clipboardprint?
  1. Dim gvr as GridViewRow  
  2. Dim KeyName as string'要的关键字,实际就是数据表的主键.需要事先在GridView1的DataKeyNames中设置. 
  3. Dim i as IntegerFor each gvr in GridView1.Rows  
  4. IF Ctype(gvr.FindControl("CheckBox1"),CheckBox).Checked=TrueThen  
  5. i=gvr.Rowindex;'GridView行索引  
  6. KeyName=GridView1.DataKeys(i).value;  
  7.   ...根据KeyName想做什么做什么吧.  
  8. End If  
  9. Next 

原创粉丝点击