在 vs.net 开发环境中,单击工具-添加/移除工具箱-选择com组件标签,选中 microsoft control treeview6.0,treeview 图标显示在工具箱中,如何向这个treeview 动态添加节点

解决方案 »

  1.   


    //从根节点开始递归调用显示子树 
    private void InitTree(TreeNodeCollection Nds,string parentId,DataTable dt)
    {
    DataView dv=new DataView();
    TreeNode tmpNd;
    string intId;
    dv.Table=dt;
    if(parentId=="")
    {
    dv.RowFilter="Isnull(MainDept,'-1')='-1'";
    }
    else
    {            
    dv.RowFilter="MainDept=" + parentId + "";
    }
    dv.Sort="Dept_OrderNo ASC";
    foreach(DataRowView drv in dv)
    {
    tmpNd=new TreeNode();
    tmpNd.ID=drv["ID"].ToString();
    tmpNd.Text=drv["Name"].ToString();
    Nds.Add(tmpNd);
    intId=drv["MainDept"].ToString();
    InitTree(tmpNd.Nodes,tmpNd.ID,dt);
    }
    }
      

  2.   

    补:protected Microsoft.Web.UI.WebControls.TreeView tv;private void Page_Load(object sender, System.EventArgs e)
    {
    //初始化treeview,最上一级为null看情况改
    if(!Page.IsPostBack)
    {
    //得到表中数据
    DataTable dt=//自己写
    InitTree(tv.Nodes,"",dt);
    }
    }
      

  3.   

    TreeView控件参考
    http://community.csdn.net/Expert/topic/2887/2887346.xml?temp=.7621576
    http://search.csdn.net/Expert/topic/2093/2093882.xml?temp=.1758234
    http://www.microsoft.com/china/MSDN/library/archives/library/DNAspp/html/aspnet-usingtreeviewieWebcontrol.asp
      

  4.   

    方法1:不想编程的话,treeview里面有个属性,忘了是NODES还是items了,可以直接向里面添加接点
    方法2:看一下我以前的代码,调用数据库
    http://community.csdn.net/Expert/topic/3270/3270506.xml?temp=4.716128E-02
    兄弟,好了,该结贴了,把分都给我吧,呵呵
      

  5.   

    给你个网址:http://search.devx.com/search.cfm?q=treeview&i=yes&a=1&f=1&s=0&sa.x=9&sa.y=12
      

  6.   

    可以冒昧的问一句吗?intId=drv["MainDept"].ToString();是有什么用处的?????
    我搜索了类似的递归程序,都有这么一句,干什么用的???
    至少我这里看不出来有什么用