使用TreeView做了个树型目录,现在把全过程记录下来:
首先在MSDN
下载Treeview Control;安装后,找到安装的webctrl_client文件夹将其复制到C:\Inetpub\wwwroot目录下;(注:如果不复制,你所显示的目录将成为由目录组成的几行文字。)接着就是编写下面的代码,我是调用了两张表完成的,一张表完成应该更好一些,大家可以试试!代码如下:
/// <summary>
/// 创建根节点
/// </summary>
public static void CreateRootNode()
{
TreeView1.Nodes.Clear();
TreeNode node = new TreeNode();
node.Text = "根目录";
TreeView.Nodes.Add(node);
//生成父节点
CreateParentNode(node);
}
/// <summary>
/// 创建父节点
/// </summary>
/// <param name="node">根节点</param>
public static void CreateParentNode(TreeNode node)
{
CategoriesLogic categoriesLogic= new CategoriesLogic();
//获取父目录数据
DataTable dtParent = (DataTable)categoriesLogic.GetCategories();
DataRow[] rowList = dtParent.Select();
foreach(DataRow dataRow in rowList)
{
TreeNode parentNode = new TreeNode();
parentNode.Text = dataRow["CategoryName"].ToString();
parentNode.NodeData = dataRow["CategoryId"].ToString();
node.Nodes.Add(parentNode);
//生成子节点
CreateSonNode( parentNode);
}
}
/// <summary>
/// 创建子节点
///</summary>
///<param name="parentNode">父节点</param>
public static void CreateSonNode(TreeNode parentNode)
{
CategoriesLogic categoriesLogic = new CategoriesLogic();
//获取子目录数据
DataTable dtSon =categoriesLogic.GetSubCategoties(int.Parse(parentNode.NodeData));
DataRow[] rowList = dtSon.Select();
foreach(DataRow dataRow in rowList)
{
TreeNode sonNode = new TreeNode();
sonNode.Text = dataRow["SubCategoryName"].ToString();
sonNode.NodeData = dataRow["SubCategoryId"].ToString();
parentNode.Nodes.Add(sonNode);
}
}