Click here to Skip to main content
15,911,531 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
It is source code of design .aspx page.three sqlconnection take three datasource and three gridview
Main problem is that when i what see gridview it showing two gridview Please Tell how can i created the Parentgridview rowediting event .???

               <asp:SqlDataSource ID="SqlDataSource1" runat="server"
                   ConnectionString="<%$ ConnectionStrings:JAPITConnectionString %>"
                   SelectCommand="SELECT * FROM [viewyn]">



               <asp:GridView ID="ParentGridView" runat="server"
               AutoGenerateColumns="False"
               DataSourceID="SqlDataSource1" DataKeyNames="l_no"

                   onrowediting="ParentGridView_OnRowEditing"
                   onselectedindexchanged="ParentGridView_SelectedIndexChanged">
 <columns>
    <asp:TemplateField HeaderText="Letter Number">
       <itemtemplate>
          <asp:Label id="l_no" Runat="Server"
          Text='<%# Eval("l_no") %>'/>
                   </itemtemplate>


    <asp:TemplateField HeaderText="name Department">
       <itemtemplate>
          <asp:Label id="nam_dep" Runat="Server"
          Text='<%# Eval("nam_dep") %>'/>
                   </itemtemplate>


   <asp:TemplateField HeaderText="number  DEO">
       <itemtemplate>
           <asp:Label id="no_deo" Runat="Server"
           Text='<%# Eval("no_deo") %>'/>
                   </itemtemplate>

               <asp:TemplateField HeaderText="number month">
       <itemtemplate>
           <asp:Label id="no_mon" Runat="Server"
           Text='<%# Eval("no_mon") %>'/>
                   </itemtemplate>


               <asp:TemplateField HeaderText="Letter y/n">
       <itemtemplate>
           <asp:Label id="le_yn" Runat="Server"
           Text='<%# Eval("le_yn") %>'/>
                   </itemtemplate>


               <asp:TemplateField HeaderText="Draft y/n">
       <itemtemplate>
           <asp:Label id="dd_yn" Runat="Server"
           Text='<%# Eval("dd_yn") %>'/>
                   </itemtemplate>







   <asp:TemplateField HeaderText="View">
       <itemtemplate>
           <asp:Button ID="ViewChild_Button"
                 runat="server" Text="+"   CommandName="Edit" />
                   </itemtemplate>
      <edititemtemplate>
           <asp:Button ID="CancelChild_Button"
                 runat="server" Text="-" CommandName="Cancel" />
                           <asp:GridView ID="GrandChildGridView" runat="server"
     AllowPaging="true" PageSize="4"
     DataSourceID="SqlDataSource2">

                   </edititemtemplate>



  <asp:TemplateField HeaderText="View2">
       <itemtemplate>
           <asp:Button ID="ViewChild_Button1"
                 runat="server" Text="+"   CommandName="Edit" />
                   </itemtemplate>
      <edititemtemplate>
           <asp:Button ID="CancelChild_Button1"
                 runat="server" Text="-" CommandName="Cancel" />
                  <asp:GridView ID="GrandChildGridView1" runat="server"
     AllowPaging="true" PageSize="4"
     DataSourceID="SqlDataSource3">


                   </edititemtemplate>




</columns>




               <asp:SqlDataSource ID="SqlDataSource3" runat="server"
                   ConnectionString="<%$ ConnectionStrings:JAPITConnectionString %>"
                   SelectCommand="SELECT * FROM [entry_dd] WHERE ([l_no] = @l_no)">
                   <SelectParameters>
                       <asp:SessionParameter Name="l_no" SessionField="l_no" Type="String" />
                   </SelectParameters>




               <br />
               <asp:SqlDataSource ID="SqlDataSource2" runat="server"
                   ConnectionString="<%$ ConnectionStrings:JAPITConnectionString %>"
                   SelectCommand="SELECT * FROM [Letter_dept] WHERE ([l_no] = @l_no)">
                   <SelectParameters>
                       <asp:SessionParameter Name="l_no" SessionField="l_no" Type="String" />
                   </SelectParameters>




protected void ParentGridView_OnRowEditing(object sender,GridViewEditEventArgs e)
    {

      
        int parent_index = e.NewEditIndex;

        //to set the edit index of the Parent 
        //grid with that of the current row
        ParentGridView.EditIndex = parent_index;
        ParentGridView.DataBind();
        //find the pubid_lbl containing pub_id in that 
        //particular row by using findcontrol method
        GridViewRow row = ParentGridView.Rows[parent_index];
        Label l_nu = (Label)row.FindControl("l_no");

        //save pub_id and edit_index in session for childgridview's use
        Session["l_no"] = l_nu.Text;
        Session["ParentGridViewIndex"] = parent_index;
        
    }
Posted
Updated 9-Dec-11 0:27am
v2

1 solution

Vidyade that is normal because the child gridview belongs to the parents command event trigger the tricks there is to make the commandname of the botton unique from both parent and child grid. currently they are name as cancel right? why not

for parent: CommandName="Cancel_Parent"
for child: CommandName="Cancel_Child"

the in your row command event handler filter your process based on the command name ;) trust me that will work.
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900