ASP.NET中TreeView的运用 选择自 NUNUblog 的 Blog
2005-07-01 14:06
423 查看
首先需要创建一个数据库表test,字段包括NODEID、PARENTID、NODENAME、ADDERSS、ICON、linkUrL
NODEID是在数据库中作为节点的唯一标识,这里为了方便,将其设置为标识;
PARENTID表示每个节点的上级节点ID,如该节点无上级,则为0;
NODENAME是节点在页面上显示的名称;
以上三个字段应不能为空
ADDERSS地址;ICON节点图片;linkUrL节点链接地址;
以上三个字段用与不用不是必须的,因实际情况而定,这里因为使用到所以列出来
作者Blog:http://blog.csdn.net/NUNUblog/
NODEID是在数据库中作为节点的唯一标识,这里为了方便,将其设置为标识;
PARENTID表示每个节点的上级节点ID,如该节点无上级,则为0;
NODENAME是节点在页面上显示的名称;
以上三个字段应不能为空
ADDERSS地址;ICON节点图片;linkUrL节点链接地址;
以上三个字段用与不用不是必须的,因实际情况而定,这里因为使用到所以列出来
接着向设计窗体添加一个treeview控件 如果还没添加过此控件的请到以下地址下载并安装,添加引用Microsoft.Web.UI.WebControls.dll然后到工具箱内添加控件 http://msdn.microsoft.com/archive/en-us/samples/internet/asp_dot_net_servercontrols/webcontrols/default.asp
下面是aspx.cs部分的代码
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 IOA { /// <summary> /// WebForm1 的摘要说明。 /// </summary> public class WebForm1 : System.Web.UI.Page { protected Microsoft.Web.UI.WebControls.TreeView TreeView1; protected Classes.Deptartment myDt=new IOA.Classes.Deptartment();//我把与数据库链接以及对数据库的操作请求写在此类中 这里数据库的链接就不具体写出来了,链接数据库以后 通过select * from test返回值传给程序中的ds变 量即可,记得返回的值的类型是DataSet
private void Page_Load(object sender, System.EventArgs e) { InitTreeView(this.TreeView1.Nodes); // 在此处放置用户代码以初始化页面 } public void InitTreeView(TreeNodeCollection node) { this.InitTree(node,"0"); }
public void InitTree(TreeNodeCollection Nds,string parentId) { DataSet ds=new DataSet(); ds=myDt.TreeInfo(); DataView dv = new DataView(); TreeNode tmpNd;
string intId;
dv.Table = ds.Tables[0];
dv.RowFilter = "PARENTID = " + parentId;
foreach(DataRowView drv in dv) {
tmpNd = new TreeNode();
tmpNd.ID = drv["NODEID"].ToString();
if(drv["linkUrL"].ToString().Trim() != "") { tmpNd.Text = "<a href ='"+drv["linkUrL"].ToString().Trim() +"'target='mainFrame'>"+drv["NODENAME"].ToString()+"</a>"; } else { tmpNd.Text = drv["NODENAME"].ToString(); }
Nds.Add(tmpNd);
intId = drv["PARENTID"].ToString();
InitTree(tmpNd.Nodes,tmpNd.ID); } } #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 } }
作者Blog:http://blog.csdn.net/NUNUblog/
相关文章推荐
- 在 Asp.Net Web 应用程序中长时间装载页面时显示进度条 选择自 chenweionline 的 Blog
- ASP.NET验证控件祥解 选择自 rko 的 Blog
- ASP.net 验证码(C#) 选择自 yangyifan0 的 Blog
- 使用Asp.net的TreeView来构建用户选择输入
- asp.net TreeView安装、使用(如何将TreeView打包发布)(带CheckBox选择框的TreeView的初始化,TreeView客户端操作:选择父节点后自动选择所有子节点,子节点选择后自动选择父节点)(TreeView节点精确定位)
- asp.net常用函数 选择自 UAM_Richard 的 Blog
- 在asp.net里创建CrystalReportViewer时老是出错,后来在这里查了些资料才搞定要在web.config中设置如下 选择自 laihua 的 Blog
- (转载)Asp.net中如何将DataSet写入xml文件,及如何将xml读出来绑定到DataGrid 选择自 kgdiwss 的 Blog
- 开发asp.net自定义控件(asp.net学习笔记二) 选择自 cashcho 的 Blog
- asp.net treeview控件无刷新选择和删除节点(使用jquery)
- ASP.NET 2.0中集联选择TreeView节点
- Asp.net TreeView来构建用户选择输入的方法 推荐
- asp.net 2.0中的ValidationGroup 选择自 mdot 的 Blog
- ASP.NET常用代码 选择自 yangyifan0 的 Blog
- ASP.Net中的MD5加密 选择自 catally 的 Blog
- 开发asp.net自定义控件(asp.net学习笔记三) 选择自 cashcho 的 Blog
- ASP.NET验证控件祥解 (选择自 rko 的 Blog )
- Asp.net页面之间通过脚本传递数据 选择自 hushan518 的 Blog
- ASP.NET中TreeView的运用
- ASP.NET 2.0中集联选择TreeView节点