当前位置: 代码迷 >> SQL >> Repeater+SQL查询三层嵌套
  详细解决方案

Repeater+SQL查询三层嵌套

热度:54   发布时间:2016-05-05 12:14:32.0
Repeater+SQL查询3层嵌套
ASPX        <ul>        <asp:Repeater ID="TemRepeater1" runat="server" OnItemDataBound="TemRepeater1_ItemDataBound">        <ItemTemplate>        <li>            <div><%#Eval("LibraryName")%></div>                        <asp:Repeater ID="TemRepeater2" runat="server" OnItemDataBound="TemRepeater2_ItemDataBound">            <HeaderTemplate><ul></HeaderTemplate>            <FooterTemplate></ul></FooterTemplate>            <ItemTemplate>            <li>                <div><%#Eval("SubjectName")%></div>                                    <asp:Repeater ID="TemRepeater3" runat="server">                <HeaderTemplate><ul></HeaderTemplate>                <FooterTemplate></ul></FooterTemplate>                    <ItemTemplate>                    <li>                    <div><%#Eval("Title") %></div>                    </li>                    </ItemTemplate>                </asp:Repeater>                                </li>                </ItemTemplate>            </asp:Repeater>                        </li>            </ItemTemplate>        </asp:Repeater>        </ul>

CS
        protected void Page_Load(object sender, EventArgs e)        {            string ConnectionString = ConfigurationManager.AppSettings["ConnectionString"].ToString();            SqlConnection conn = new SqlConnection(ConnectionString);            string bStr = "select * from Library";            SqlDataAdapter rs = new SqlDataAdapter(bStr, conn);            conn.Open();            DataSet rd = new DataSet();            rs.Fill(rd);            TemRepeater1.DataSource = rd;            TemRepeater1.DataBind();            conn.Close();            Listbind();        }        protected void TemRepeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)        {            if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)            {                string preid = ((DataRowView)e.Item.DataItem).Row["ID"].ToString();//获得对应ID                Repeater r2 = (Repeater)e.Item.FindControl("TemRepeater2");//找到要绑定数据的Repeater                if (r2 != null)                {                    string ConnectionString = ConfigurationManager.AppSettings["ConnectionString"].ToString();                    SqlConnection sc = new SqlConnection(ConnectionString);                    string scmd = "select * from Subject where ParentID=" + preid + " order by ID asc";                    SqlDataAdapter srs = new SqlDataAdapter(scmd, sc);                    sc.Open();                    DataSet srd = new DataSet();                    srs.Fill(srd);                    r2.DataSource = srd;                    r2.DataBind();                    sc.Close();                }            }        }        protected void TemRepeater2_ItemDataBound(object sender, RepeaterItemEventArgs e)        {            if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)            {                string preid = ((DataRowView)e.Item.DataItem).Row["id"].ToString();//获得对应ID                Repeater r3 = (Repeater)e.Item.FindControl("TemRepeater3");//找到要绑定数据的Repeater                if (r3 != null)                {                    string ConnectionString = ConfigurationManager.AppSettings["ConnectionString"].ToString();                    SqlConnection sc = new SqlConnection(ConnectionString);                    string scmd = "select * from Title where SubjectID=" + preid + " order by ID asc";                    SqlDataAdapter srs = new SqlDataAdapter(scmd, sc);                    sc.Open();                    DataSet srd = new DataSet();                    srs.Fill(srd);                    r3.DataSource = srd;                    r3.DataBind();                    sc.Close();                }            }        }
  相关解决方案