code_TreeView动态加载节点

典型代码
 
动态加载 TreeView 控件的节点,常用以构成动态菜单。
 
//参数1:当前节点的子节点集合,如 TreeView.Nodes 或 某个节点的子节点集合
//参数2:当前节点的ID (用于从数据库中寻找当前节点的子节点)
private void DrawTree(TreeNodeCollection nds, string parentID)
{
        DataTable dt = mgr.GetListByParent(parentID);//获取当前节点的所有子节点
        TreeNode tmpNd;
        for (int i = 0; i < dt.Rows.Count; i++)
        {
                  tmpNd = new TreeNode();
                  tmpNd.Value = dt.Rows[i]["ITEM_ID"].ToString();
                  tmpNd.Text = dt.Rows[i]["VALUE"].ToString();
                  if (!(bool)dt.Rows[i]["ISLEAF"]) //如果不是叶子节点
                  {
                      tmpNd.NavigateUrl = string.Format("HierarchyEdit.aspx?ID={0}&DID={1}", dt.Rows[i]["ITEM_ID"].ToString(), DEPT_ID);
                  }
                  else //如果是叶子
                  {
                      tmpNd.NavigateUrl = string.Format("LeafDetail.aspx?ID={0}&DID={1}", dt.Rows[i]["ITEM_ID"].ToString(), DEPT_ID);
                       tmpNd.Text = string.Format("<span style=\"color:red \">{0}</span>", tmpNd.Text);
                  }
               tmpNd.Target = "content";
               nds.Add(tmpNd);
               DrawTree(tmpNd.ChildNodes, dt.Rows[i]["ITEM_ID"].ToString());//递归创建子节点
         }
}
 
//调用方法
//绘制根节点,
//DrawTree(this.TVLib.Nodes, "0");

你可能感兴趣的:(职场,节点,动态,treeview,休闲)