Hi I have to display hierarchical information (which has four levels) within a repeater. For this I decided to use the nested repeater control. I found this article on MSDN, http://support.microsoft.com/kb/306154 which shows how to use nested repeaters for two levels of information. Can someone please help me extend this to four levels? A sample code would be much appriciated. Thank you.
HTML CODE :
<asp:Repeater ID="Repeater1" runat="server" 
        onitemdatabound="Repeater1_ItemDataBound">
        <ItemTemplate>
            <h1>
                Repeater 1</h1>
            <asp:Repeater ID="Repeater2" runat="server" onitemdatabound="Repeater2_ItemDataBound">
                <ItemTemplate>
                    <h1>
                        Repeater 2
                    </h1>
                    <asp:Repeater ID="Repeater3" runat="server" onitemdatabound="Repeater3_ItemDataBound">
                        <ItemTemplate>
                            <h1>
                                Repeater 3
                            </h1>
                            <asp:Repeater ID="Repeater4" runat="server" onitemdatabound="Repeater4_ItemDataBound">
                                <ItemTemplate>
                                    <h1>
                                        Repeater 4
                                    </h1>
                                </ItemTemplate>
                            </asp:Repeater>
                        </ItemTemplate>
                    </asp:Repeater>
                </ItemTemplate>
            </asp:Repeater>
        </ItemTemplate>
    </asp:Repeater>
C# Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        DataTable dt1 = new DataTable();
        //Need to assign the Data in datatable
        Repeater1.DataSource = dt1;
        Repeater1.DataBind();
    }
    protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
        if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
        {
            Repeater Repeater2 = (Repeater)(e.Item.FindControl("Repeater2"));
            DataTable dt2 = new DataTable();
            //Need to assign the Data in datatable
            Repeater2.DataSource = dt2;
            Repeater2.DataBind();
        }
    }
    protected void Repeater2_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
        if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
        {
            Repeater Repeater3 = (Repeater)(e.Item.FindControl("Repeater3"));
            DataTable dt3 = new DataTable();
            //Need to assign the Data in datatable
            Repeater3.DataSource = dt3;
            Repeater3.DataBind();
        }
    }
    protected void Repeater3_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
        if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
        {
            Repeater Repeater4 = (Repeater)(e.Item.FindControl("Repeater4"));
            DataTable dt4 = new DataTable();
            //Need to assign the Data in datatable
            Repeater4.DataSource = dt4;
            Repeater4.DataBind();
        }
    }
}
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With