Click here to Skip to main content
15,905,874 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
how to use nested Repeater control without using data base in asp.net?

I used this code in nested gridview...can I use this code in nested repeater?if we can use so how to do?

XML
<head runat="server">
    <script language="javascript" type="text/javascript">
        function divdt(divname) {
            var x = document.getElementsByClassName("tada");
            var div = document.getElementById(divname);
            var img = document.getElementById('img' + divname);

            for (var i = 0; i < x.length; i++) {
                if (div.id != x[i].id) {
                    x[i].style.display = "none";
                }
            }


            if (div.style.display == "none") {
                div.style.display = "inline";
                img.scr = "minus.jpg";
                //img.src = "images/collapse.jpg";
            }
            else {
                div.style.display = "none";
                img.scr = "Cross.jpg";
                // img.src = "images/expand.jpg";
            }
        }
        function Closepopup() {
        }

    </script>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <asp:Button ID="btnHide" runat="server" Style="display: none" OnClick="btnHide_Click" />
    <div style="text-align: center">
        <a href="btncalendar.aspx">btncalendar.aspx</a>
          <asp:GridView ID="gvParentGrid" runat="server"
            AllowPaging="true" OnPageIndexChanging="gvParentGrid_PageIndexChanging" PageSize="10"
            DataKeyNames="UserId" Width="100%" AutoGenerateColumns="false" OnRowDataBound="gvUserInfo_RowDataBound">
            <HeaderStyle BackColor="Chocolate" Font-Bold="true" ForeColor="Black" />
            <Columns>
                <asp:TemplateField ItemStyle-Width="10%">
                    <ItemTemplate>
                        <a style="border-color: black" href="JavaScript:divdt('div<%# Eval("UserId") %>');">
                            <img alt="" id="imgdiv<%# Eval("UserId") %>" width="10%" src="../Images/x-in-circle.png"
                                onclick="closepopup()" />
                        </a>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:BoundField DataField="UserId" HeaderStyle-ForeColor="Black" HeaderText="UserId"
                    HeaderStyle-HorizontalAlign="Center" HeaderStyle-Width="31%" ItemStyle-Width="31%" />
                <asp:BoundField DataField="Name" HeaderStyle-ForeColor="Black" HeaderText="Name"
                    HeaderStyle-HorizontalAlign="Center" HeaderStyle-Width="31%" ItemStyle-Width="31%" />
                <asp:BoundField DataField="Address" HeaderStyle-ForeColor="Black" HeaderText="Address"
                    HeaderStyle-HorizontalAlign="Center" HeaderStyle-Width="31%" ItemStyle-Width="31%" />
                <asp:TemplateField HeaderStyle-Width="0%">
                    <ItemTemplate>
                        <tr>
                            <td colspan="100%">
                                <div id="div<%# Eval("UserId") %>" style="display: none;" class="tada">
                                    <asp:GridView ID="gvChildGrid" EmptyDataText="Data Unavailable" runat="server" AutoGenerateColumns="false"
                                        Width="100%">
                                        <AlternatingRowStyle BackColor="SkyBlue" />
                                        <HeaderStyle BackColor="Green" Font-Bold="true" ForeColor="black" />
                                        <Columns>
                                            <asp:BoundField DataField="Designation" HeaderStyle-ForeColor="Black" HeaderText="Designation"
                                                HeaderStyle-HorizontalAlign="Center" />
                                            <asp:BoundField DataField="Department" HeaderStyle-ForeColor="Black" HeaderText="Department"
                                                HeaderStyle-HorizontalAlign="Center" />
                                        </Columns>
                                    </asp:GridView>
                                </div>
                            </td>
                        </tr>
                    </ItemTemplate>
                    <ItemStyle Width="0%" />
                </asp:TemplateField>
            </Columns>
        </asp:GridView>
    </div>


cs code -
C#
namespace Asignments.May
{
    public partial class Insidegv : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                BindGrid();
            }
        }
        protected void BindGrid()
        {
            DataTable dt = new DataTable();
            dt.Columns.Add("UserId", typeof(Int32));
            dt.Columns.Add("Name", typeof(string));
            dt.Columns.Add("Address", typeof(string));

            DataRow dr = dt.NewRow();
            dr["UserId"] = 1;
            dr["Name"] = "Anamika";
            dr["Address"] = "Btm";
            dt.Rows.Add(dr);

            dr = dt.NewRow();
            dr["UserId"] = 2;
            dr["Name"] = "Alok";
            dr["Address"] = "Silkboard";
            dt.Rows.Add(dr);

            dr = dt.NewRow();
            dr["UserId"] = 3;
            dr["Name"] = "Jyoti";
            dr["Address"] = "Jeydeva";
            dt.Rows.Add(dr);

            dr = dt.NewRow();
            dr["UserId"] = 4;
            dr["Name"] = "Monika";
            dr["Address"] = "Electronic City";
            dt.Rows.Add(dr);

            dr = dt.NewRow();
            dr["UserId"] = 5;
            dr["Name"] = "Radha";
            dr["Address"] = "Rajaji Nagar";
            dt.Rows.Add(dr);

            dr = dt.NewRow();
            dr["UserId"] = 6;
            dr["Name"] = "Sunny";
            dr["Address"] = "Brgur";
            dt.Rows.Add(dr);

            dr = dt.NewRow();
            dr["UserId"] = 7;
            dr["Name"] = "Deepa";
            dr["Address"] = "Vasanth Nagar";
            dt.Rows.Add(dr);

            dr = dt.NewRow();
            dr["UserId"] = 8;
            dr["Name"] = "Sweta";
            dr["Address"] = "Marathalli";
            dt.Rows.Add(dr);

            dr = dt.NewRow();
            dr["UserId"] = 9;
            dr["Name"] = "Surbhi";
            dr["Address"] = "Bhopal";
            dt.Rows.Add(dr);

            dr = dt.NewRow();
            dr["UserId"] = 10;
            dr["Name"] = "Preeti";
            dr["Address"] = "Shamshabad";
            dt.Rows.Add(dr);

            dr = dt.NewRow();
            dr["UserId"] = 11;
            dr["Name"] = "Madhuri";
            dr["Address"] = "Bohmanhalli";
            dt.Rows.Add(dr);

            dr = dt.NewRow();
            dr["UserId"] = 12;
            dr["Name"] = "Swapna";
            dr["Address"] = "Garvebhabi Palya";
            dt.Rows.Add(dr);

            dr = dt.NewRow();
            dr["UserId"] = 13;
            dr["Name"] = "Rashmi";
            dr["Address"] = "Rewa";
            dt.Rows.Add(dr);

            dr = dt.NewRow();
            dr["UserId"] = 14;
            dr["Name"] = "Kanchan";
            dr["Address"] = "Lucknow";
            dt.Rows.Add(dr);

            dr = dt.NewRow();
            dr["UserId"] = 15;
            dr["Name"] = "Asha";
            dr["Address"] = "Kandeli";
            dt.Rows.Add(dr);

            dr = dt.NewRow();
            dr["UserId"] = 16;
            dr["Name"] = "Pankaj";
            dr["Address"] = "Ujjen";
            dt.Rows.Add(dr);

            dr = dt.NewRow();
            dr["UserId"] = 17;
            dr["Name"] = "Yogesh";
            dr["Address"] = "Satna";
            dt.Rows.Add(dr);

            dr = dt.NewRow();
            dr["UserId"] = 18;
            dr["Name"] = "Mona";
            dr["Address"] = "U.P.";
            dt.Rows.Add(dr);

            dr = dt.NewRow();
            dr["UserId"] = 19;
            dr["Name"] = "Rakesh";
            dr["Address"] = "Sivaji Nagar";
            dt.Rows.Add(dr);

            dr = dt.NewRow();
            dr["UserId"] = 20;
            dr["Name"] = "Ekta";
            dr["Address"] = "Jabalpur";
            dt.Rows.Add(dr);

            dr = dt.NewRow();
            dr["UserId"] = 21;
            dr["Name"] = "Sonali";
            dr["Address"] = "MP Nagar";
            dt.Rows.Add(dr);

            dr = dt.NewRow();
            dr["UserId"] = 22;
            dr["Name"] = "Sujal";
            dr["Address"] = "Pune";
            dt.Rows.Add(dr);

            dr = dt.NewRow();
            dr["UserId"] = 23;
            dr["Name"] = "Niharika";
            dr["Address"] = "Jamshedpur";
            dt.Rows.Add(dr);

            dr = dt.NewRow();
            dr["UserId"] = 24;
            dr["Name"] = "Andheri";
            dr["Address"] = "Electronic City";
            dt.Rows.Add(dr);

            dr = dt.NewRow();
            dr["UserId"] = 25;
            dr["Name"] = "Priyanka";
            dr["Address"] = "Bilaspur";
            dt.Rows.Add(dr);

            dr = dt.NewRow();
            dr["UserId"] = 26;
            dr["Name"] = "Chanchal";
            dr["Address"] = "Bhojpur";
            dt.Rows.Add(dr);

            dr = dt.NewRow();
            dr["UserId"] = 27;
            dr["Name"] = "Sonal";
            dr["Address"] = "Vidisha";
            dt.Rows.Add(dr);

            dr = dt.NewRow();
            dr["UserId"] = 28;
            dr["Name"] = "Aashish";
            dr["Address"] = "Bilaspur";
            dt.Rows.Add(dr);
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                for (int j = 0; j < dt.Columns.Count; j++)
                {
                    if (string.IsNullOrEmpty(dt.Rows[i][j].ToString()))
                    {
                        dt.Rows[i][j] = "Data Not Available";
                    }
                }
            }
            gvParentGrid.DataSource = dt;
            gvParentGrid.DataBind();


        }
        protected void gvUserInfo_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                DataTable dt = new DataTable();

                // dt.Columns.Add("UserId", typeof(Int32));
                dt.Columns.Add("Designation", typeof(string));
                dt.Columns.Add("Department", typeof(string));
                // dt.Columns.Add("");

                DataRow dr = dt.NewRow();
                dr["Designation"] = "Software Engineer";
                dr["Department"] = "CS";
                dt.Rows.Add(dr);

                dr = dt.NewRow();
                dr["Designation"] = "Technical Consultant";
                dr["Department"] = null;
                dt.Rows.Add(dr);

                dr = dt.NewRow();
                dr["Designation"] = null;
                dr["Department"] = "KPO";
                dt.Rows.Add(dr);

                dr = dt.NewRow();
                dr["Designation"] = "Tech Lead";
                dr["Department"] = "IT";
                dt.Rows.Add(dr);

                GridView gv = (GridView)e.Row.FindControl("gvChildGrid");
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    for (int j = 0; j < dt.Columns.Count; j++)
                    {
                        if (string.IsNullOrEmpty(dt.Rows[i][j].ToString()))
                        {
                            //dt.Rows[i][j] = "Data Not Available"; 
                            dt.Rows[i][j] = "";
                        }
                    }
                }
                gv.DataSource = dt;
                gv.DataBind();
            }
        }
        protected void gvParentGrid_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            //GridView gvParentGrid = (sender as GridView);
            gvParentGrid.PageIndex = e.NewPageIndex;
            BindGrid();
        }
Posted
Updated 2-Jul-15 23:40pm
v2

Yes concept is same. Read this articles - A quick guide to using nested repeaters in ASP.NET[^].
 
Share this answer
 
 
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