使用repeater控件显示列表替代treeview

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Data;

using System.Data.Sql;

using System.Data.SqlClient;

using System.Configuration;



namespace Blog.Blog

{

    public partial class repeatertest : System.Web.UI.Page

    { 

        protected void Page_Load(object sender, EventArgs e)

        {

            showmenu();

        }



        protected void showmenu() 

        {

            SqlDataAdapter cmd = new SqlDataAdapter("select * from content;select * from content", new SqlConnection(ConfigurationManager.ConnectionStrings["testConnectionString"].ConnectionString));

            DataSet ds = new DataSet();

            cmd.Fill(ds);

            ds.Relations.Add(new DataRelation("stu",ds.Tables[0].Columns["_id"],ds.Tables[1].Columns["_parent_id"]));

            Repeater1.DataSource = ds;

            Repeater1.DataBind();

        }



        protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)

        {

            DataRowView dv = e.Item.DataItem as DataRowView;

            if (dv != null)

            {

                Repeater repSubMenu = e.Item.FindControl("ss") as Repeater;

                if (repSubMenu != null)

                {

                    repSubMenu.DataSource = dv.CreateChildView("stu");

                    repSubMenu.DataBind();

                }

            }

        }

    }

}

前端显示

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="repeatertest.aspx.cs" Inherits="Blog.Blog.repeatertest" %>



<!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>

        <asp:Repeater ID="Repeater1" runat="server" 

            onitemdatabound="Repeater1_ItemDataBound">

           

            <ItemTemplate>

            <a href="#"><%#DataBinder.Eval(Container.DataItem, "_id")%></a>

             <asp:Repeater runat="server" ID="ss">

             <ItemTemplate>

             <div style="margin-left:15px;"><a href="#"><%#DataBinder.Eval(Container.DataItem, "_parent_id")%></a><br /></div>

             </ItemTemplate>

             </asp:Repeater>

            </ItemTemplate>

        </asp:Repeater>

    </div>

    </form>

</body>

</html>
View Code

 

你可能感兴趣的:(treeview)