62,268
社区成员
发帖
与我相关
我的任务
分享
CREATE TABLE [dbo].[menu](
[ID] [int] IDENTITY(1,1) NOT NULL,
[Title] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[url] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[description] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[ParentID] [int] NULL,
CONSTRAINT [PK_menu] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;
public partial class treeviewlist : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
using (SqlConnection sqlconn = new SqlConnection(ConfigurationManager.ConnectionStrings["constr"].ConnectionString))
{
sqlconn.Open();
try
{
SqlDataAdapter myda = new SqlDataAdapter("select * from menu", sqlconn);
DataSet myds = new DataSet();
myda.Fill(myds);
this.ViewState["ds"] = myds;
}
catch (Exception ex)
{ Session["error"] = ex.ToString(); }
finally
{ sqlconn.Close(); }
addtree(0,(TreeNode)null);
}
}
public void addtree(int parentid, TreeNode pnode)
{
DataSet ds=(DataSet)this.ViewState["ds"];
DataView dv = new DataView(ds.Tables[0]);
dv.RowFilter = "[parentid]=" + parentid;
foreach (DataRowView row in dv)
{
TreeNode node = new TreeNode();
if (pnode == null)
{
node.Text = row["title"].ToString();
TreeView1.Nodes.Add(node);
node.Expanded = true;
addtree(Int32.Parse(row["id"].ToString()), node);
}
else
{
node.Text = row["title"].ToString();
pnode.ChildNodes.Add(node);
node.Expanded = true;
addtree(Int32.Parse(row["id"].ToString()), node);
}
}
}
}