62,046
社区成员
发帖
与我相关
我的任务
分享
private void Bind()
{
tvNode.Nodes.Clear();
IList<Treelist> treelist = bTree.getSystemNodelist();//所有父节点
foreach (Treelist tlist in treelist)
{
string nodeId = tlist.TreeId.ToString();//第一层节点id
string nodeName = tlist.TreeName;//第一层节点名称
TreeNode fatherNode = this.CreatTreeNode(nodeName, nodeId, "", "image/CloseTree.gif");//根据节点信息,创建第一层节点
CreateChildTree(nodeId, fatherNode);//创建子节点
tvNode.Nodes.Add(fatherNode);//将第一层节点加入到TreeView中
}
}
/// <summary>
/// 创建一个树节点,返回一个树节点对象,参数内容是:
/// 节点名称,节点ID,链接地址,正常图标,展开后的图标
/// </summary>
private TreeNode CreatTreeNode(string sTreeName, string sTreeid, string sTreeUrl, string sTreeImg)
{
TreeNode trNode = new TreeNode();
trNode.Text = sTreeName;
trNode.Value = sTreeid;
trNode.NavigateUrl = sTreeUrl;
trNode.ImageUrl = sTreeImg;
return trNode;
}
/// <summary>
/// 创建第二层节点
/// </summary>
/// <param name="nodeId"></param>
/// <param name="fatherNode"></param>
private void CreateChildTree(string nodeId, TreeNode fatherNode)
{
IList<Treelist> childTree = bTree.getTreeParentIdList(int.Parse(nodeId));//得到所有父节点下的子节点
foreach (Treelist trList in childTree)
{
string ChildNodeId = trList.TreeId.ToString();//第二层节点id
string ChildNodeName = trList.TreeName;//第二层节点名称
string NodeUrl = ResolveUrl(trList.TreeUrl.Trim());//将路径转换为在客户端可用的URL
TreeNode childNode = this.CreatTreeNode(ChildNodeName, ChildNodeId, NodeUrl, "image/CloseTree.gif");
fatherNode.ChildNodes.Add(childNode);
}
}
/// <summary>
/// 给当前节点添加子节点
/// </summary>
/// <param name="node">当前节点</param>
/// <param name="pid">当前节点的ID</param>
protected void AddPages(TreeNode node, string pid)
{
DataSet ds = lm.GetPage(pid);
if (ds != null && ds.Tables.Count > 0)
{
foreach (DataRow dr in ds.Tables[0].Rows)
{
TreeNode childnode = new TreeNode();
childnode.Text = dr["BigPageName"].ToString();
childnode.NavigateUrl = "bbsSolution.aspx?PageId=" + dr["PageId"].ToString();
childnode.Target = "mainFrame";
//给当前节点添加子节点
AddPages(childnode, dr["PageId"].ToString());
if (node == null)
{
TreeView1.Nodes.Add(childnode);
}
else
{
node.ChildNodes.Add(childnode);
}
}
}
}