1.首先建立个节点表,最起码包含字段:ID、父节点ID、URL等。
2.使用TREEVIEW显示树的效果:(C#.NET)
private void CreateTree(TreeNode pNode,string filter)
{
DataSet ds1 = new DataSet();
ds1 = cTreeView.Temp_Get();//调用存储过程获得树结构表
string temp;
DataView dv = new DataView();
dv = ds1.Tables[0].DefaultView;
dv.RowFilter = "RESOURCE_PARENT='"+filter+"'";
foreach(DataRowView Row in dv)
{
TreeNode Node = new TreeNode();
if(pNode == null)
{ //添加根节点
Node.ID = Row["RESOURCE_ID"].ToString();
Node.Text = Row["RESOURCE_NAME"].ToString();
if( Row["RESOURCE_TYPE"].ToString().ToUpper()=="CUSTOM")
{
Node.ImageUrl="../images/file.png";
Node.ExpandedImageUrl="../images/file.png";
}
TreeView1.Nodes.Add(Node);
//Node.CheckBox = true;
CreateTree(Node,Row["RESOURCE_ID"].ToString()); //再次递归
}
else
{ //添加当前节点的子节点
Node.ID = Row["RESOURCE_ID"].ToString();
Node.Text = Row["RESOURCE_NAME"].ToString();
if( Row["RESOURCE_TYPE"].ToString().ToUpper()=="CUSTOM")
{
Node.ImageUrl="../images/file.png";
Node.ExpandedImageUrl="../images/file.png";
}
pNode.Nodes.Add(Node);
//Node.CheckBox = true;
CreateTree(Node,Row["RESOURCE_ID"].ToString()); //再次递归
}
temp=Row["RESOURCE_LINK"].ToString()+"?ID="+Row["RESOURCE_ID"].ToString()+"&ParentID="+Row["RESOURCE_PARENT"].ToString()+"&Type="+Row["RESOURCE_TYPE"].ToString();
Node.Target = "main";
Node.NavigateUrl = ""+temp;
}
}
3.QQ:11624317 我有完整的源代码,还有权限管理的代码(自己写的).
http://hi.baidu.com/jilijun/blog/item/0513834b73ac20f183025c75.html
用javascript实现的.
递归
超级简单
很简单啊...多点分就加我QQ..109598168