递归添加树的节点
public void AddTree(int ParentID,TreeNode pNode)
{
DataTable ds=(DataTable) this.ViewState["ds"];
DataView dvTree = new DataView(ds);
//过滤ParentID,得到当前的所有子节点
dvTree.RowFilter = "[F_PARENTID] = " + ParentID;
foreach(DataRowView Row in dvTree)
{
TreeNode Node=new TreeNode() ;
if(pNode == null)
{ //添加根节点
Node.Text= Row["F_Name"].ToString();
TreeView1.Nodes.Add(Node);
Node.Expanded = true;
//Node.NavigateUrl = null;
AddTree(Int32.Parse(Row["F_ID"].ToString()), Node); //再次递归
}
else
{ //添加当前节点的子节点
Node.Text = Row["F_Name"].ToString();
pNode.Nodes.Add(Node);
Node.Expanded = false;
if(!ValidateUtil.isBlank(Row["F_URL"].ToString()))
Node.NavigateUrl = Row["F_URL"].ToString();
Node.Target = "mainFrame";
AddTree(Int32.Parse(Row["F_ID"].ToString()),Node); //再次递归
}
}
}
public void AddTree(int ParentID,TreeNode pNode)
{
DataTable ds=(DataTable) this.ViewState["ds"];
DataView dvTree = new DataView(ds);
//过滤ParentID,得到当前的所有子节点
dvTree.RowFilter = "[F_PARENTID] = " + ParentID;
foreach(DataRowView Row in dvTree)
{
TreeNode Node=new TreeNode() ;
if(pNode == null)
{ //添加根节点
Node.Text= Row["F_Name"].ToString();
TreeView1.Nodes.Add(Node);
Node.Expanded = true;
//Node.NavigateUrl = null;
AddTree(Int32.Parse(Row["F_ID"].ToString()), Node); //再次递归
}
else
{ //添加当前节点的子节点
Node.Text = Row["F_Name"].ToString();
pNode.Nodes.Add(Node);
Node.Expanded = false;
if(!ValidateUtil.isBlank(Row["F_URL"].ToString()))
Node.NavigateUrl = Row["F_URL"].ToString();
Node.Target = "mainFrame";
AddTree(Int32.Parse(Row["F_ID"].ToString()),Node); //再次递归
}
}
}