在VS 2005中使用TREEVIEW控件
来源:互联网 发布:nodejs取代php 编辑:程序博客网 时间:2024/05/19 16:37
以下特把实现代码贴出来,供大家参考。
.ASPX页面代码:
.ASPX页面代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Left.aspx.cs" Inherits="Left" %>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<asp:TreeView ID="LeftTree" runat="server" ShowLines="True" Font-Size="10pt">
</asp:TreeView>
</form>
</body>
</html>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<asp:TreeView ID="LeftTree" runat="server" ShowLines="True" Font-Size="10pt">
</asp:TreeView>
</form>
</body>
</html>
以下是.ASPX.CS代码页面源码:
using System;
using System.Data;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.Data.OleDb;
public partial class Left : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
InitTree();
}
}
// 递归绑定同一个表数据
private void InitTree()
{
DataTable dt = GetTreeViewTable();
DataView dv = new DataView(dt);
dv.RowFilter = "TreeParentID='0'";
foreach (DataRowView drv in dv)
{
TreeNode node = new TreeNode();
node.Text = drv["TreeName"].ToString();
node.Value = drv["TreeValue"].ToString();
node.ImageUrl = drv["TreeIco"].ToString();
node.Expanded = true;
LeftTree.Nodes.Add(node);
AddReplies(dt,node);
}
}
private DataTable GetTreeViewTable()
{
string constring = System.Configuration.ConfigurationSettings.AppSettings["OledbConnectionStr"];
OleDbConnection con = new OleDbConnection(constring);
OleDbDataAdapter da = new OleDbDataAdapter("SELECT * FROM TreeTb", con);
DataTable dt = new DataTable();
da.Fill(dt);
return dt;
}
private void AddReplies(DataTable dt, TreeNode node)
{
DataView dv = new DataView(dt);
dv.RowFilter = "TreeParentID='" + node.Value + "'";
foreach (DataRowView row in dv)
{
TreeNode replyNode = new TreeNode();
replyNode.Text = row["TreeName"].ToString();
replyNode.Value = row["TreeValue"].ToString();
replyNode.ImageUrl = row["TreeIco"].ToString();
replyNode.NavigateUrl = row["TreeLink"].ToString().Trim();
replyNode.Target = row["TargetStr"].ToString().Trim();
replyNode.Expanded = false;
node.ChildNodes.Add(replyNode);
AddReplies(dt,replyNode);
}
}
}
using System.Data;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.Data.OleDb;
public partial class Left : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
InitTree();
}
}
// 递归绑定同一个表数据
private void InitTree()
{
DataTable dt = GetTreeViewTable();
DataView dv = new DataView(dt);
dv.RowFilter = "TreeParentID='0'";
foreach (DataRowView drv in dv)
{
TreeNode node = new TreeNode();
node.Text = drv["TreeName"].ToString();
node.Value = drv["TreeValue"].ToString();
node.ImageUrl = drv["TreeIco"].ToString();
node.Expanded = true;
LeftTree.Nodes.Add(node);
AddReplies(dt,node);
}
}
private DataTable GetTreeViewTable()
{
string constring = System.Configuration.ConfigurationSettings.AppSettings["OledbConnectionStr"];
OleDbConnection con = new OleDbConnection(constring);
OleDbDataAdapter da = new OleDbDataAdapter("SELECT * FROM TreeTb", con);
DataTable dt = new DataTable();
da.Fill(dt);
return dt;
}
private void AddReplies(DataTable dt, TreeNode node)
{
DataView dv = new DataView(dt);
dv.RowFilter = "TreeParentID='" + node.Value + "'";
foreach (DataRowView row in dv)
{
TreeNode replyNode = new TreeNode();
replyNode.Text = row["TreeName"].ToString();
replyNode.Value = row["TreeValue"].ToString();
replyNode.ImageUrl = row["TreeIco"].ToString();
replyNode.NavigateUrl = row["TreeLink"].ToString().Trim();
replyNode.Target = row["TargetStr"].ToString().Trim();
replyNode.Expanded = false;
node.ChildNodes.Add(replyNode);
AddReplies(dt,replyNode);
}
}
}
数据库表的设计说明:
表:TreeTb(菜单树)
字段名
用途
数据类型说明
允许为空
备注
ID
自动ID
Int 4
×
TreeParentID
一级菜单树
Nchar 20
√
TreeValue
二级树非显值
Nchar 20
√
TreeName
二级树显示值
Nchar 20
√
TreeLink
菜单链接
Varchar 50
√
TargetStr
链接目标
Nchar 20
√
TreeIco
图标
Varchar 50
√
- 在VS 2005中使用TREEVIEW控件
- 在VS 2005中使用TREEVIEW控件
- 在SDK中使用TreeView控件
- 在SDK中使用TreeView控件
- 在Visual FoxPro中使用TreeView控件
- 在SDK中使用TreeView控件
- vs 2005 中TreeView 控件checkbox 的回发事件
- 在ASP.NET中使用Treeview控件和XML
- 试图在Webpart中使用TreeView控件失败
- 在 ASP.NET 页面中使用 TreeView 控件
- 在 ASP.NET 页面中使用 TreeView 控件
- 在 ASP.NET 页面中使用 TreeView 控件
- 在 ASP.NET 页面中使用 TreeView 控件
- 在 ASP.NET 页面中使用 TreeView 控件
- 在 ASP.NET 页面中使用 TreeView 控件
- 在 ASP.NET 页面中使用 TreeView 控件
- 在 ASP.NET 页面中使用 TreeView 控件
- 在.NET开发中灵活使用TreeView控件
- RedHat9.0下安装Oracle9i
- 与领导喝酒的18个应紧记的诀窍
- 修改系统默认的音频设备
- 李开复谈工作:不要成为“紧急”的奴隶
- struts 1.2 配置数据源找不到JDBC Driver的解决方案
- 在VS 2005中使用TREEVIEW控件
- div慢慢展开的效果
- 心情
- google搜索引擎优化圣经
- 使用LookupDispatchAction类犯的错误
- 使用Struts中logic:iterate标签的问题
- GRIDVIEW 中当数据行数未满时,填充空白行
- 引用:TD发牌进入倒计时
- Google, Don't be blinded to evil