用框架,左边TREEVIEW加入链接,右框架是具体内容
treeview的用法,搜索一下,很多
treeview的用法,搜索一下,很多
解决方案 »
- !IsPostBack问题
- 我想要别人网站页面的那些花,怎么得到
- 网页的内容是放在数据库里还好是存成一个个文件比较好?
- SqlDataReader问题!高手进来看!顶者有分不够+分!在线等
- 急切咨询:登陆QQ/TM经常提示修改密码错误或者激活帐号!
- webconfig自定义配置节的问题
- 关于datagrid中的RadioButton问题
- 问一个问题,分用完了,回答出来者下次补给50分,绝不食言!
- 各位师傅请看下面代码:"找不到类型或命名空间名称“SqlConnetion”(是否缺少 using 指令或程序集引用?)",请指点指点.
- 如何改变.net中利用母版页做的内容页的title的位置
- string retval = CreateAccount();这个语句是意思?c#
- Word文档如何显示出来
你可以去microsoft站点下载Microsoft.Web.UI.WebControls安装一下,这里的TreeView的节点有Target属性的,我在以前编写论坛时在树状显示文章列表就是用这个控件的。
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Data.OleDb;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;namespace myoa
{
/// <summary>
/// WebForm1 的摘要说明。
/// </summary>
public class WebForm1 : System.Web.UI.Page
{
protected System.Data.OleDb.OleDbConnection oleDbConnection1;
protected System.Data.OleDb.OleDbDataAdapter oleDbDataAdapter1;
protected System.Data.DataSet dataSet1;
protected Microsoft.Web.UI.WebControls.TreeView TreeView1;
DataSet ds=new DataSet();
public string objConn;
//public string objConn ="Provider=Microsoft.Jet.OLEDB.4.0; Data Source="+"\\dATABASE\\myoa.mdb";
OleDbConnection MyConn;
OleDbDataAdapter mycommand; private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
//TreeView1.Width=100;
//TreeView1.Height=450;
objConn ="Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Server.MapPath("dATABASE\\myoa.mdb");
string NodeText="-1";
MyConn=new OleDbConnection(objConn);
mycommand=new OleDbDataAdapter("select * from tree where TreeNode='"+NodeText+"' order by NodeNumber asc",MyConn);
MyConn.Open();
mycommand.Fill(ds);
int i;
//===根结点数
for(i=0;i<ds.Tables[0].Rows.Count;i++)
{
Microsoft.Web.UI.WebControls.TreeNode myTreeNode=new Microsoft.Web.UI.WebControls.TreeNode();
//dim myTreeNode as new Microsoft.Web.UI.WebControls.TreeNode()
myTreeNode.Text=ds.Tables[0].Rows[i].ItemArray[1].ToString() ;
myTreeNode.ImageUrl="images/closedfolder.gif";
myTreeNode.ExpandedImageUrl="images/openfolder.gif";
myTreeNode.NavigateUrl="Query.aspx?NodeText="+myTreeNode.Text;
myTreeNode.Target="mainFrame";
TreeView1.Nodes.Add(myTreeNode);
//Response.Write( ds.Tables[0].Rows[i].ItemArray[0].ToString());
//Response.Write("<br/>");
//Response.Write( ds.Tables[0].Rows[i].ItemArray[1].ToString());
CreateChildTree(myTreeNode,ds.Tables[0].Rows[i].ItemArray[0].ToString() ,ds.Tables[0].Rows[i].ItemArray[1].ToString() );
}
//end sub
}
public void CreateChildTree(Microsoft.Web.UI.WebControls.TreeNode ParentNode,string NodeId ,string ParentNodeText)
{
mycommand=new OleDbDataAdapter("select * from tree where TreeNode='"+NodeId+"' order by NodeNumber desc",MyConn);
//MyConn.Open();
mycommand.Fill(ds,"second");
int i;
for(i=0;i<ds.Tables["second"].Rows.Count;i++)
{
Microsoft.Web.UI.WebControls.TreeNode myTreeNode=new Microsoft.Web.UI.WebControls.TreeNode();
myTreeNode.Text=ds.Tables["second"].Rows[i].ItemArray[1].ToString();
myTreeNode.ImageUrl="images/book.gif";
string myTreeNodeText =myTreeNode.Text;
string ParentNodeTextS =ParentNodeText;
//myTreeNodeText=Server.UrlEncode(myTreeNodeText);
//ParentNodeTextS=Server.UrlEncode(ParentNodeTextS);
myTreeNode.NavigateUrl="Query.aspx?NodeText="+myTreeNodeText+"&ParentNodeText="+ParentNodeTextS;
myTreeNode.Target="mainFrame";
ParentNode.Nodes.Add(myTreeNode);
}
ds.Tables["second"].Clear();
} #region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.oleDbConnection1 = new System.Data.OleDb.OleDbConnection();
this.oleDbDataAdapter1 = new System.Data.OleDb.OleDbDataAdapter();
this.dataSet1 = new System.Data.DataSet();
((System.ComponentModel.ISupportInitialize)(this.dataSet1)).BeginInit();
//
// dataSet1
//
this.dataSet1.DataSetName = "NewDataSet";
this.dataSet1.Locale = new System.Globalization.CultureInfo("zh-CN");
this.Load += new System.EventHandler(this.Page_Load);
((System.ComponentModel.ISupportInitialize)(this.dataSet1)).EndInit(); }
#endregion
} //public Sub resize()
}
Private Sub initTree(ByVal nds As TreeNodeCollection, ByVal parentID As Integer)
Dim dv As New DataView()
Dim tmpNd As TreeNode
Dim strId As Integer
dv.Table = ds.Tables("TitleTree")
dv.RowFilter = "parentid='" + parentID.ToString() + "'"
Dim objRow As DataRowView For Each objRow In dv
tmpNd = New TreeNode()
strId = CInt(objRow("nodeid"))
tmpNd.ID = strId.ToString()
tmpNd.Text = objRow("nodename").ToString()
tmpNd.ExpandedImageUrl = objRow("imgex").ToString()
tmpNd.ImageUrl = objRow("img").ToString()
tmpNd.NavigateUrl = objRow("address").ToString()
nds.Add(tmpNd)
initTree(nds(nds.Count - 1).Nodes, strId)
Next End Sub生成节点表的脚本文件:
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[visit_TitleTree]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[visit_TitleTree]
GOCREATE TABLE [dbo].[visit_TitleTree] (
[parentid] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[nodeid] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[nodename] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[imgex] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[img] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[address] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO