<%@ Page
Language="C#"
AutoEventWireup="true"
CodeFile="innergrid_p.aspx.cs"
Inherits="_Default"
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD
XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div align="center">
<asp:GridView ID="grdouter"
runat="server"
AutoGenerateColumns="False"
OnRowDataBound="grdouter_onrowdatabound"
DataKeyNames="ig_cid"
BackColor="LightGoldenrodYellow"
BorderColor="Tan"
BorderWidth="1px"
CellPadding="2"
ForeColor="Black"
GridLines="None">
<AlternatingRowStyle
BackColor="PaleGoldenrod"
/>
<Columns>
<asp:TemplateField HeaderText="countryid">
<ItemTemplate>
<asp:Label ID="lblcid" runat="server" Text='<%# bind("ig_cid") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="countryname">
<ItemTemplate>
<asp:Label ID="lblcname" runat="server" Text='<%# bind("ig_cname") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="state">
<ItemTemplate>
<asp:GridView ID="grdinner" runat="server" AutoGenerateColumns="false" OnRowDataBound="grdinner_onrowdatabound"
DataKeyNames="ig_sid">
<Columns>
<asp:TemplateField HeaderText="stateid">
<ItemTemplate>
<asp:Label ID="lblstateid"
runat="server"
Text='<%# bind("ig_sid") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="statename">
<ItemTemplate>
<asp:Label ID="lblstatename"
runat="server"
Text='<%# bind("ig_sname") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Region">
<ItemTemplate>
<asp:GridView ID="grdnested"
runat="server"
AutoGenerateColumns="false">
<Columns>
<asp:TemplateField HeaderText="regionid">
<ItemTemplate>
<asp:Label ID="lblrid" runat="server"
Text='<%# bind("ig_rid") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="regionname">
<ItemTemplate>
<asp:Label ID="lblrname"
runat="server"
Text='<%# bind("ig_rname") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<FooterStyle BackColor="Tan"
/>
<HeaderStyle BackColor="Tan"
Font-Bold="True"
/>
<PagerStyle BackColor="PaleGoldenrod"
ForeColor="DarkSlateBlue"
HorizontalAlign="Center"
/>
<SelectedRowStyle
BackColor="DarkSlateBlue"
ForeColor="GhostWhite"
/>
<SortedAscendingCellStyle
BackColor="#FAFAE7"
/>
<SortedAscendingHeaderStyle
BackColor="#DAC09E"
/>
<SortedDescendingCellStyle
BackColor="#E1DB9C"
/>
<SortedDescendingHeaderStyle
BackColor="#C2A47B"
/>
</asp:GridView>
</div>
</form>
</body>
</html>
ASPX.CS
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class _Default :
System.Web.UI.Page
{
ado _objado;
protected void
Page_Load(object sender, EventArgs e)
{
_objado = new ado();
grdouter.DataSource = _objado.getoutergriddetails();
grdouter.DataBind();
}
protected void
grdouter_onrowdatabound(object sender, GridViewRowEventArgs e)
{
_objado = new ado();
if (e.Row.RowType == DataControlRowType.DataRow)
{
string id =
grdouter.DataKeys[e.Row.RowIndex].Value.ToString();
GridView inner = e.Row.FindControl("grdinner") as
GridView;
inner.DataSource =
_objado.getinnergriddetails(Convert.ToInt32(id));
inner.DataBind();
}
}
protected void
grdinner_onrowdatabound(object sender, GridViewRowEventArgs e)
{
_objado = new ado();
if (e.Row.RowType == DataControlRowType.DataRow)
{
Label lbl_id = (Label)e.Row.FindControl("lblstateid");
string id2 = lbl_id.Text;
GridView nested = e.Row.FindControl("grdnested") as
GridView;
nested.DataSource = _objado.getnestedgriddetails(Convert.ToInt32(id2));
nested.DataBind();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
/// <summary>
/// Summary description for ado
/// </summary>
public class ado
{
string conn = ConfigurationManager.ConnectionStrings["config"].ToString();
SqlConnection con;
SqlCommand cmd;
SqlDataAdapter dap;
DataSet ds;
public DataSet
getoutergriddetails()
{
con =
new SqlConnection(conn);
cmd =
new SqlCommand();
cmd.Connection = con;
cmd.CommandText = "sp_country";
cmd.CommandType = CommandType.StoredProcedure;
con.Open();
ds = new DataSet();
dap =
new SqlDataAdapter(cmd);
dap.Fill(ds);
return ds;
}
public DataSet
getinnergriddetails(int ig_cid)
{
con =
new SqlConnection(conn);
cmd =
new SqlCommand();
cmd.Connection = con;
cmd.CommandText = "sp_state";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@ig_cid",
ig_cid);
con.Open();
ds = new DataSet();
dap =
new SqlDataAdapter(cmd);
dap.Fill(ds);
return ds;
}
public DataSet
getnestedgriddetails(int ig_sid)
{
con =
new SqlConnection(conn);
cmd =
new SqlCommand();
cmd.Connection = con;
cmd.CommandText = "sp_region";
cmd.CommandType = CommandType.StoredProcedure;
//cmd.Parameters.AddWithValue("@ig_cid", ig_cid);
cmd.Parameters.AddWithValue("@ig_sid",
ig_sid);
con.Open();
ds = new DataSet();
dap =
new SqlDataAdapter(cmd);
dap.Fill(ds);
return ds;
}
}
//
public object getnestedgriddetails(int p)
//
{
// throw new NotImplementedException();
//
}
//}