首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

TreeView如何实现这个效果

2013-08-01 
TreeView怎么实现这个效果~[解决办法]this.treeView1.Nodes.AddRange(new TreeNode[] {new TreeNode(T120

TreeView怎么实现这个效果~
TreeView如何实现这个效果
[解决办法]

this.treeView1.Nodes.AddRange(new TreeNode[] { 
                new TreeNode("T1201",new TreeNode[]{
                    new TreeNode("111"),
                    new TreeNode("222"),
                    new TreeNode("333")
                }),
                new TreeNode("T1202",new TreeNode[]{
                    new TreeNode("444"),
                    new TreeNode("555"),
                    new TreeNode("666")
                }),
                new TreeNode("T1203",new TreeNode[]{
                    new TreeNode("777"),
                    new TreeNode("888"),
                    new TreeNode("999")
                })
            });
            this.treeView1.ExpandAll();

[解决办法]
这不就是最普通的默认效果么。


[解决办法]

    private DataSet Getdata(string pid)    //在这里我们传入一个pid
    {
        DbHelper oDalnode = DbFactory.CreateDb();
        oDalnode.CmdType = CmdType.SQL;
        string sqlstr;
        sqlstr = "Select * From HR_Org  Where Org_Pid='" + pid + "'";
        DataSet ds = oDalnode.ExecDataSet(sqlstr);
        return ds;              //返回含有pid的数据
    }

    private void bindtree(string pid)
    {
        DbHelper oDalroot = DbFactory.CreateDb();
        oDalroot.CmdType = CmdType.SQL;
        string sqlstr;
        sqlstr = "Select *  From HR_Org  Where Org_Pid='" + pid + "'";
        DataSet ds = oDalroot.ExecDataSet(sqlstr);

        int nRowCount = ds.Tables[0].Rows.Count;
        if (nRowCount > 0)
        {
            for (int i = 0; i < nRowCount; i++)
            {
                string rootName = ds.Tables[0].Rows[i]["Org_Name"].ToString().Trim();
                string rootValue = ds.Tables[0].Rows[i]["Org_Id"].ToString().Trim();

                TreeNode rootNode = new TreeNode(rootName, rootValue);   //这是在找数据库中的节点
                rootNode.NavigateUrl = "javascript:showNodes(0,'" + rootValue + "')";
                this.deptTree.Nodes.Add(rootNode);    //把这个根节点添加到控件中


                bindnode(rootNode);  //添加无限子节点

            }
        }

    }


    private void bindnode(TreeNode nd)  //就是一个递归的开始 遍历根节点下面的子节点
    {
        DataSet ds = Getdata(nd.Value.Trim());
        for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
        {
            TreeNode node = new TreeNode();
            string Org_Name = ds.Tables[0].Rows[i]["Org_Name"].ToString().Trim();
            string Org_id = ds.Tables[0].Rows[i]["Org_Id"].ToString().Trim();
            //int Level = Convert.ToInt32(ds.Tables[0].Rows[i]["str_dept"].ToString().Trim());
            node.Text = Org_Name;
            node.Value = Org_id;
            node.NavigateUrl = "javascript:showNodes(1,'" + Org_id + "')";
            nd.ChildNodes.Add(node);
            bindnode(node);
        }
    }

热点排行