<% @ Register TagPrefix = " ie " Namespace = " Microsoft.Web.UI.WebControls " Assembly = " Microsoft.Web.UI.WebControls " %>
<! DOCTYPE HTML PUBLIC " -//W3C//DTD HTML 4.0 Transitional//EN " >
< HTML >
< HEAD >
< title > Left </ title >
< meta content = " Microsoft Visual Studio .NET 7.1 " name = " GENERATOR " >
< meta content = " C# " name = " CODE_LANGUAGE " >
< meta content = " JavaScript " name = " vs_defaultClientScript " >
< meta content = " http://schemas.microsoft.com/intellisense/ie5 " name = " vs_targetSchema " >
</ HEAD >
< body bottomMargin = " 0 " leftMargin = " 0 " topMargin = " 0 " rightMargin = " 0 " >
< form id = " Form1 " method = " post " runat = " server " >
< TABLE id = " Table1 " height = " 100% " cellSpacing = " 0 " borderColorDark = " #ffffff " cellPadding = " 0 "
width = " 170 " borderColorLight = " #999999 " border = " 1 " frame = " vsides " >
< TR >
< TD vAlign = " top " >
< TABLE id = " Table2 " cellSpacing = " 0 " cellPadding = " 0 " width = " 100% " border = " 0 " >
< TR >
< TD >
< TABLE id = " Table3 " cellSpacing = " 0 " cellPadding = " 0 " width = " 60% " align = " center " border = " 0 " >
< TR >
< TD height = " 80 " >
< TABLE id = " Table4 " height = " 60 " cellSpacing = " 0 " cellPadding = " 0 " width = " 75 " background = " ../../../images/set_icon/bg2.gif "
border = " 0 " >
< TR >
< TD vAlign = " bottom " align = " center " >< IMG height = " 43 " src = " ../../../images/set_icon/48/woaf06.gif " width = " 45 " vspace = " 5 " ></ TD >
</ TR >
</ TABLE >
</ TD >
</ TR >
</ TABLE >
< TABLE id = " Table5 " cellSpacing = " 0 " borderColorDark = " #ffffff " cellPadding = " 0 " width = " 100% "
borderColorLight = " #cccccc " border = " 0 " frame = " void " >
< TR >
< TD bgColor = " #cccccc " height = " 1 " ></ TD >
</ TR >
< TR class = " trroll " >
< TD bgColor = " #f4f4f4 " height = " 25 " align = " center " >
< table border = " 0 " cellpadding = " 0 " cellspacing = " 0 " >
< tr >
< td >
< ie:treeview id = " TreeView1 " runat = " server " SystemImagesPath = " ../../../../webctrl_client/1_0/treeimages/ " ></ ie:treeview >
</ td >
</ tr >
</ table >
</ TD >
</ TR >
< TR >
< TD bgColor = " #cccccc " height = " 1 " ></ TD >
</ TR >
</ TABLE >
</ TD >
</ TR >
< TR >
</ TR >
</ TABLE >
</ TD >
</ TR >
</ TABLE >
</ form >
</ body >
</ HTML >
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using Microsoft.Web.UI.WebControls;
namespace www_manage_com.manage.website.Porducts.Left
{
/// <summary>
/// Left 的摘要说明。
/// </summary>
public class Left : System.Web.UI.Page
{
protected Microsoft.Web.UI.WebControls.TreeView TreeView1;
private void Page_Load(object sender, System.EventArgs e)
{
if(!Page.IsPostBack)
{
generateTreeView();
//bind();
}
// 在此处放置用户代码以初始化页面
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void generateTreeView()
{
//根据“class_v1”表 生成主目录
string[] rootIds = getRootIds();
TreeNode roodNode=new TreeNode();
roodNode.Text="根目录";
roodNode.NavigateUrl="class_list.aspx";
roodNode.Target="main";
roodNode.Expanded=true;
foreach (string rootId in rootIds)
{
TreeNode rootNode1 = generateBaseTree(null, rootId);
roodNode.Nodes.Add(rootNode1);
}
TreeView1.Nodes.Add(roodNode);
}
/// <summary>
/// 生成树形控件顺序1、先获得根目录(也就是大类)。
/// </summary>
/// <returns></returns>
private string[] getRootIds()
{
// string sql = "SELECT id FROM class_v1 where parent_id = 0 order by sort desc,id desc";
string sql = "SELECT id FROM class_v1 where parent_id = 0 order by sort asc";
DataSet ds=new DataSet();
SqlHelper.FillDataSet(ds,SqlHelper.GetCmd(sql));
int iCount = ds.Tables[0].Rows.Count;
string[] rootIds = new string[iCount];
int i = 0;
foreach (DataRow dtRow in ds.Tables[0].Rows)
{
rootIds[i] = dtRow["id"].ToString();
i++;
}
return rootIds;
}
/// <summary>
/// 把数据表 class_v1 中的数据生成目录树
/// </summary>
/// <param name="parentNode">父节点</param>
/// <param name="categoryId">节点Id</param>
/// <returns>生成新的目录树后的根节点</returns>
private TreeNode generateBaseTree(TreeNode parentNode, string categoryId)
{
string sqlFormator = "SELECT id,ClassNameCn,parent_id FROM class_v1 where id = {0} Order by sort desc,id desc";
string sql = string.Format(sqlFormator, categoryId);
DataSet ds=new DataSet();
SqlHelper.FillDataSet(ds,SqlHelper.GetCmd(sql));
string categoryName = ds.Tables[0].Rows[0]["ClassNameCn"].ToString();
string url = "product_list.aspx?parent_id=" + categoryId;
TreeNode newNode = new TreeNode();
newNode.ID = categoryId;
newNode.Text = categoryName;
newNode.NavigateUrl = url;
newNode.Target = "main";
if (parentNode != null)
parentNode.Nodes.Add(newNode);//在原有节点的基础上再加一个节点。
string sqlSubFormator = "SELECT id FROM class_v1 where parent_Id = {0} Order By sort desc,id desc";
string sqlSub = string.Format(sqlSubFormator, categoryId);
DataSet dsSub=new DataSet();
SqlHelper.FillDataSet(dsSub,SqlHelper.GetCmd(sqlSub));
foreach (DataRow dtRow in dsSub.Tables[0].Rows)
{
generateBaseTree(newNode, dtRow[0].ToString());
}
return newNode;
}
}
}
注意:需要将:webctrl_client下的所有内容考到项目中,然后引用一下.