获取CheckBox在GridView模板列中的值

aspx:
    <asp:GridView ID="gvdeptusers" runat="server" DataKeyNames="id" AutoGenerateColumns="False" Width="100%" ShowHeader="False" OnRowDataBound="gvdeptusers_RowDataBound">
    
<Columns>
        
<asp:BoundField DataField="names" >
            
<ItemStyle Width="8%" HorizontalAlign="Center" />                
            
</asp:BoundField>
        
<asp:BoundField DataField="deptname" >
            
<ItemStyle Width="10%" HorizontalAlign="Center" />                
            
</asp:BoundField>
        
<asp:TemplateField>
            
<ItemTemplate>
                
<asp:HiddenField ID="hdtype" runat="server" Value='<%# Eval("user_classid") %>' />
                
<asp:CheckBox ID="cbusers" Text='<%# Eval("username") %>' runat="server" />
             
</ItemTemplate>
        
</asp:TemplateField>
    
</Columns>
</asp:GridView>

cs:
            string idStr = "";
            
foreach (GridViewRow row in this.gvdeptusers.Rows)
            

                
if (((CheckBox)row.FindControl("cbusers")).Checked == true)
                
{
                    idStr 
+= this.gvdeptusers.DataKeys[row.RowIndex].Value + "<br>";
                }

            }

            Response.Write(idStr);
            Response.End();

绑定选定值:
        protected void gvdeptusers_RowDataBound(object sender, GridViewRowEventArgs e)
        
{
            
int strid = e.Row.RowIndex;
            CheckBox cbusers 
= (CheckBox)e.Row.FindControl("cbusers");
            
if (cbusers != null)
            
{
                
string strhdtype = ((HiddenField)e.Row.FindControl("hdtype")).Value;
                
if (strhdtype != "1" && strhdtype != "8") cbusers.Checked = true;
            }

        }

很简单的代码,怕忘记所以记录于此。

posted on 2007-04-24 15:59  ★金★  阅读(1608)  评论(0编辑  收藏  举报

导航