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"));

}