[转]Raising An Event From CheckBox In A GridView (GridView中模板表的CheckBox的后台事件处理)

本文转自:http://www.dotnetspider.com/resources/30842-Raising-An-Event-From-CheckBox-In-A-GridView.aspx
原文如下:

Description:
Raising an event from a gridview check box or dropdown list.
In case of Button or Link Button then event raises and RowCommand.
Incase of raising event from a control like Checkbox or RadioButtonor DropDownList or etc Event Bubbling.

Design View:
<asp:GridView ID="GrdQuestions" AutoGenerateColumns="false" runat="server" Width="698px" >
   <HeaderStyle HorizontalAlign="Left" CssClass="GridHeader"  / >
   <RowStyle CssClass="GridRowStyle" HorizontalAlign="Left" / >
   <AlternatingRowStyle CssClass="GridAlternateRowStyle" / >
   < Columns > 
      <asp:TemplateField HeaderText="Edit" >          
          <ItemStyle HorizontalAlign="Center" Width="50px" ></ItemStyle >             
          <ItemTemplate>  
             <asp:CheckBox id="chkStatus" AutoPostBack="True" Runat="server" OnCheckedChanged="chkStatus_Changed" ></asp:CheckBox>       

       </ItemTemplate>      
          </asp:TemplateField> 
      <asp:TemplateField HeaderText="BatchPriority">      
          <HeaderStyle Wrap="False">< /HeaderStyle>      
          <ItemStyle Wrap="False">< /ItemStyle>      
          <ItemTemplate>  
              <asp:dropdownlist id="ddlBatchPriorty" runat="server" Width="92px" CssClass="text" ></asp:dropdownlist>
          </ItemTemplate>     
      </asp:TemplateField> 
   <Columns>
</asp:GridView>

Code Behind:

public void chkStatus_Changed(object sender, System.EventArgs e)
{  
   //......When GridView Checkbox calls event, then it raises an event.  
   CheckBox chkbox = (CheckBox)(sender);   
   //......Sender is converted to checkbox and getting its GridView Row by using  chkbox.Parent.Parent.  
   GridViewRow dg = (GridViewRow)(chkbox.Parent.Parent);
   //......GridView Row to find the Control or Text of particular cell.  
   DropDownList ddl = (DropDownList)(dg.Cells[4].FindControl("ddlBatchPriorty"));
}

posted on 2009-08-13 11:45  freeliver54  阅读(490)  评论(0编辑  收藏  举报

导航