#region//填充数据
private void CreatDate()
{
SqlConnection CN = new SqlConnection(SQL.SQLConn.sqlconn());
try
{
CN.Open();
SqlDataAdapter adp = new SqlDataAdapter("select * from ", CN);
DataSet ds = new DataSet();
adp.Fill(ds);
this.ViewState["ds"] = ds;
}
catch (Exception ex)
{
Session["Error"] = ex.ToString();
//Response.Redirect("error.aspx"); //?跳转程序的公共错误处理页面
}
finally
{
CN.Close();
}
//调用递归函数,完成树形结构的生成
AddTree(0, (TreeNode)null);
}
#endregion
#region 递归构造树
private void AddTree(int ParentCategotyId, TreeNode pNode) //ParentID
{
DataSet ds = (DataSet)this.ViewState["ds"];
DataView dvTree = new DataView(ds.Tables[0]);
//过滤ParentID,得到当前的所有子节点
dvTree.RowFilter = "[ParentId] = " + ParentCategotyId;
foreach (DataRowView Row in dvTree)
{
TreeNode Node = new TreeNode();
if (pNode == null)
{ //添加根节点
Node.Text = Row["ConText"].ToString();//ConText
TreeView1.Nodes.Add(Node);
Node.Expanded = false;
Node.Target = "SubjectRight";
//Node.NavigateUrl = "SubjectRight.aspx?ID=" + Row["ID"].ToString() + " &ConText=" + Row["ConText"].ToString() + "";
Node.NavigateUrl = "SubjectRight.aspx?ID=" + Row["ID"].ToString() + "&ConText=" + Row["ConText"].ToString().Trim() + "&ParentID=" + Row["ParentID"].ToString() + "&ParentText=" + Row["ParentText"].ToString().Trim() + "&isunOut=" + Row["isunOut"].ToString() + "&NewURL=" + Row["NewURL"].ToString() + "&HttpURL=" + Row["HttpURL"].ToString() + "";
//Node.ImageUrl ="../Img/TreeImages/treeopen.gif";
//Node.ExpandedImageUrl="../Img/TreeImages/treeclosed.gif";
AddTree(Int32.Parse(Row["ID"].ToString()), Node); //再次递归 ID
}
else
{ //?添加当前节点的子节点
Node.Text = Row["ConText"].ToString();
pNode.Nodes.Add(Node);
Node.Expanded = false;
Node.Text = Row["ConText"].ToString(); //ConText
Node.Target = "SubjectRight";
Node.NavigateUrl = "SubjectRight.aspx?ID=" + Row["ID"].ToString() + "&ConText=" + Row["ConText"].ToString().Trim() + "&ParentID=" + Row["ParentID"].ToString() + "&ParentText=" + Row["ParentText"].ToString().Trim() + "&isunOut=" + Row["isunOut"].ToString() + "&NewURL=" + Row["NewURL"].ToString() + "&HttpURL=" + Row["HttpURL"].ToString() + "";
//Node.ImageUrl ="../Img/TreeImages/treeopen.gif";
//Node.ExpandedImageUrl="../Img/TreeImages/treeclosed.gif";
//
AddTree(Int32.Parse(Row["ID"].ToString()), Node);
}
}
}
#endregion