NET树(dropdownlist 选择弹出另一页面)

来源:互联网 发布:mac svn客户端 version 编辑:程序博客网 时间:2024/05/18 00:12

Microsoft.Web.UI.WebControls控件iewebcontrols.msi安装在根目录的BIN下

<%@ Register TagPrefix="iewc" Namespace="Microsoft.Web.UI.WebControls" Assembly="Microsoft.Web.UI.WebControls, Version=1.0.2.226, Culture=neutral, PublicKeyToken=31bf3856ad364e35" %>

<%@ Page Inherits="www.MyCodeBehind" AutoEventWireup="false" Src="test2.cs" %>

<HTML>
<HEAD>
<title>menu_Left</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio 7.0">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">           
</HEAD>
<body MS_POSITIONING="GridLayout" bgcolor=cccccc>
<form id="menu_Left" method="post" runat="server">

<asp:DropDownList id="DropDownList1" AutoPostBack="true" width="80" runat="server"> 
<asp:ListItem Value='' Text=""/>
</asp:DropDownList>

<iewc:TreeView id="TreeView1" runat="server"></iewc:TreeView>
</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;
using System.Data.SqlClient;
using System.Configuration;
namespace www
{
 
public class MyCodeBehind : System.Web.UI.Page
 {
  protected Microsoft.Web.UI.WebControls.TreeView TreeView1;
  SqlConnection  Conn;
  SqlDataAdapter myCmd;
  DataSet ds;
  String cmdSelect;
  public System.Web.UI.WebControls.DropDownList DropDownList1;
 
  private void Page_Load(object sender, System.EventArgs e)
  {
   if(!IsPostBack)
   {

string nowDSN=ConfigurationSettings.AppSettings["treeview1"];
Conn=new SqlConnection(nowDSN);

SqlDataAdapter myCommand=new SqlDataAdapter("SELECT * FROM users ",Conn);
DataSet ds= new DataSet(); 
myCommand.Fill(ds,"users");
    for (int I=0;I<=ds.Tables["users"].Rows.Count-1;I++)
    {
  DataRow dr = ds.Tables["users"].Rows[I];      
  DropDownList1.Items.Add(new ListItem(dr["name"].ToString(), dr["user_id"].ToString()));
 }

    CreateDataSet();
    InitTree(TreeView1.Nodes,"0");
   }
  }

 //建立数据库
  private DataSet CreateDataSet()
     {
          
   cmdSelect="select * from s_menu";
   myCmd=new SqlDataAdapter (cmdSelect,Conn);
   ds=new DataSet ();
   myCmd.Fill (ds,"tree");
   return ds;
  }
  
 
  //建树的基本思路是:从根节点开始递归调用子树
  private void InitTree(TreeNodeCollection Nds,string parentid)
  {
          
   DataView dv=new DataView ();
   TreeNode tmpNd;
   string intId;
   dv.Table =ds.Tables ["tree"];
   dv.RowFilter="parentid=" + parentid + "" ;

   foreach(DataRowView drv in dv)
   {
tmpNd=new TreeNode();
tmpNd.ID=drv["NodeId"].ToString();
tmpNd.Text=drv["NodeName"].ToString();
tmpNd.ImageUrl="images/"+drv["Icon"].ToString();
tmpNd.NavigateUrl=""+drv["Address"].ToString()+"?ID="+drv["NodeId"].ToString();    
tmpNd.Target ="mainFrame";
Nds.Add(tmpNd);
intId=drv["ParentId"].ToString();
InitTree(tmpNd.Nodes,tmpNd.ID);
   }   
  }

  private void DropDownList1_SelectedIndexChanged(object sender, System.EventArgs e)
        {   Response.Write("<script>parent.frames['mainFrame'].location='down2.aspx?ID="+this.DropDownList1.SelectedValue+"'</script>");
  }

override protected void OnInit(EventArgs e)
{
InitializeComponent();
base.OnInit(e);
}

private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
this.DropDownList1.SelectedIndexChanged += new System.EventHandler(this.DropDownList1_SelectedIndexChanged);
}

}
}
-----------------------------------
数据库treeview表结构

CREATE TABLE [S_Menu] (
 [ParentId] [char] (6) COLLATE Chinese_PRC_CI_AS NULL ,
 [NodeName] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [Address] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [Icon] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [NodeId] [int] IDENTITY (1, 1) NOT NULL ,
 [target] [nvarchar] (50) COLLATE Chinese_Taiwan_Stroke_CI_AS NULL ,
 CONSTRAINT [PK_S_Menu] PRIMARY KEY  CLUSTERED
 (
  [NodeId]
 )  ON [PRIMARY]
) ON [PRIMARY]
GO


 

原创粉丝点击