24h購物| | PChome| 登入
2012-10-22 19:09:35| 人氣4,577| 回應0 | 上一篇 | 下一篇

GridView中CheckBox、CheckBoxField取值的方法集

推薦 0 收藏 0 轉貼0 訂閱站台

GridView中CheckBox、CheckBoxField取值的方法集

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

一、CheckBoxField取值的方法:

前台代码:

  1. <asp:GridView ID="GridView1" runat="server" Width="418px">  
  2.      <Columns>  
  3.          <asp:CheckBoxField DataField="是否有效" 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#)

操作:

[c-sharp] view plaincopy
  1. string PKname="";  
  2. foreach (GridViewRow GR in this.GridView1.Rows)  
  3. {  
  4.     CheckBox CB = (CheckBox)GR.FindControl("CheckBox1");  
  5.     if (CB.Checked)  
  6.     {  
  7.         PKname += this.GridView1.DataKeys[GR.RowIndex].Value.ToString()+",";  
  8.     }  
  9. }  

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

实例:前台代码

 

  1. <Columns>   
  2.    <asp:TemplateField HeaderText="选择">   
  3.       <HeaderStyle HorizontalAlign="Center" Height="25px" Width="45px" />   
  4.       <ItemTemplate>   
  5.          <asp:CheckBox ID="ckb" runat="server" />   
  6.       </ItemTemplate>   
  7.    </asp:TemplateField>   
  8.    <asp:BoundField DataField="sid" HeaderText="编号" />   
  9.    <asp:BoundField DataField="cname" HeaderText="姓名" />      
  10. </Columns>   

实例:后台代码

[c-sharp] view plaincopy
  1. foreach (GridViewRow gvr in 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

  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=True Then   
  5. i=gvr.Rowindex;'GridView行索引   
  6. KeyName=GridView1.DataKeys(i).value;   
  7.   ...根据KeyName想做什么做什么吧.   
  8. End If   
  9. Next 

台長: nut
人氣(4,577) | 回應(0)| 推薦 (0)| 收藏 (0)| 轉寄
全站分類: 不分類 | 個人分類: 技術 |
此分類下一篇:[轉載] TRIGGER觸發程序的說明與介紹(文章下方有範例)
此分類上一篇:TSQL語法範例

是 (若未登入"個人新聞台帳號"則看不到回覆唷!)
* 請輸入識別碼:
請輸入圖片中算式的結果(可能為0) 
(有*為必填)
TOP
詳全文