Hi sir,
I am working on nested gridview. Page A having nested grideview. Page B having textboxes.
Page A pass value to Page B code:
Protected Sub gvChildGrid_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
'Get nested gridview
Dim gvChildGrid As GridView = TryCast(sender, GridView)
'Get selected row
Dim selectedRow As GridViewRow = gvChildGrid.SelectedRow
'Get Parent Row
Dim parentGridViewRow As GridViewRow = TryCast(gvChildGrid.NamingContainer, GridViewRow)
If gvChildGrid.SelectedRow.Cells(26).Text = "Request" Then
Server.Transfer("UpdateRequestNested_Form.aspx")
Else
Server.Transfer("UpdateIssueNested_Form.aspx")
End If
End Sub
'Page B get data from nested gridview (child gridview) code :
Private Sub TextBoxesBindNested(ByVal sender As Object, ByVal e As EventArgs)
If Me.Page.PreviousPage IsNot Nothing Then
Dim gvParentGrid As GridView = DirectCast(Me.Page.PreviousPage.FindControl("gvParentGrid"), GridView)
Dim gvr As GridViewRow = TryCast(gvParentGrid.NamingContainer, GridViewRow)
For Each gvr In gvParentGrid.Rows
txtRegDate.Text = gvParentGrid.SelectedRow.Cells(1).Text 'error here
Next
End If
End Sub
HTML Code:
<asp:GridView ID="gvParentGrid" runat="server" Width="1550px" DataKeyNames="RegDate"
AutoGenerateColumns="false" OnRowDataBound="gvUserInfo_RowDataBound" GridLines="None"
BorderStyle="Solid" BorderColor="#999999" BorderWidth="2px" Visible="false" ShowHeader="False"
OnSelectedIndexChanged="gvChildGrid_SelectedIndexChanged">
<HeaderStyle CssClass="GridStyleParent" />
<RowStyle BackColor="White" />
<AlternatingRowStyle BackColor="White" />
<Columns>
<asp:TemplateField ItemStyle-Width="20px">
<ItemTemplate>
<a href="JavaScript:divexpandcollapse('div<%# Eval("RegDate") %>');">
<img id="imgdiv<%# Eval("RegDate") %>" width="30px" border="0" src="plus.png" /></a>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="RegDate" HeaderText="" HeaderStyle-HorizontalAlign="Left" />
<asp:TemplateField>
<ItemTemplate>
<tr>
<td colspan="100%">
<div id="div<%# Eval("RegDate") %>" style="display: none; position: relative; left: 15px;
overflow: auto">
<%--<asp:Label ID="lblRegDate" runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"RegDate")%>' Visible="false"></asp:Label>--%>
<asp:GridView ID="gvChildGrid" runat="server" PageSize="1" ForeColor="Black" BorderColor="#999999"
BorderStyle="Solid" BorderWidth="2px" AllowPaging="True" Style="text-align: Left;"
AutoGenerateColumns="False" OnRowDataBound="gvChildGrid_RowDataBound" OnSelectedIndexChanged="gvChildGrid_SelectedIndexChanged"
OnPageIndexChanged="gvChildGrid_PageIndexChanging">
<RowStyle BackColor="White" />
<HeaderStyle CssClass="GridStyleHeader" ForeColor="White" />
<Columns>
<asp:TemplateField HeaderText="No.">
<ItemTemplate>
<%#Container.DataItemIndex + 1%>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField ReadOnly="true" HeaderText="Register Date" DataField="RegDate" SortExpression="RegDate" />
but it's showing error as "Object reference not set to an instance of an object."
Kindly show me how to get value from previous page nested gridview.