当前位置:编程学习 > C#/ASP.NET >>

asp.net2010(C#)中treeview插入子节点

asp.net2010(C#)中treeview怎么动态绑定数据库,父节点是固定的比如有5个父节点,子节点的数据存在数据库中,父节点已经添加到树里去了,如何根据父节点,从数据库中插入对应的子节点?我是新手,麻烦大家指导一下,具体代码怎么写,请详细说明一下,非常感谢!  2010 ASP.NET C# TreeView 数据库 --------------------编程问答--------------------
引用 楼主 u011633266 的回复:
asp.net2010(C#)中treeview怎么动态绑定数据库,父节点是固定的比如有5个父节点,子节点的数据存在数据库中,父节点已经添加到树里去了,如何根据父节点,从数据库中插入对应的子节点?我是新手,麻烦大家指导一下,具体代码怎么写,请详细说明一下,非常感谢! 

你可以把父节点也插入到库里面  像这样的设计字段类似这样 [ID] [treeName] [parentID] 
如果是根节点parentID就为0 不是根节点parentID 就为另外一个节点的ID  然后用递归去绑定树
代码是累死这样子
 //绑定更新角色时的权限树
    private void BindTreeUpdate(TreeNodeCollection tree,int ParentID,int RoleID) 
    {
        DataView dv = m_treeBLL.getTree(ParentID); //获取所有权限的集合
       
        foreach (DataRowView drv in dv) 
        {
            int flog = 0;
            string dvID = drv["TreeID"].ToString().Trim();
            DataView dv1 = m_treeBLL.getRoleTree(RoleID,ParentID );//该角色原来拥有的权限树的集合
            foreach (DataRowView drv1 in dv1) 
            {
                string dv1ID = drv1["TreeID"].ToString().Trim();
                if (dvID == dv1ID) 
                {
                    flog = 1;
                   
                }                
            }
            TreeNode tr = new TreeNode();
            if (flog==1)
            {
                tr.Checked = true;
            }
            tr.Value = drv["TreeID"].ToString();
            tr.Text = drv["TreeName"].ToString();
            tr.NavigateUrl = drv["Url"].ToString();
            tr.SelectAction = TreeNodeSelectAction.None;
            tr.Expanded = true;
            tree.Add(tr);
            this.BindTreeUpdate(tr.ChildNodes, Int32.Parse(tr.Value), RoleID);    
        }
    }
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,