csdn高手很多,当然慕白兄的确是高手
treeview不是什么难的东西

解决方案 »

  1.   

    lz这样讲会伤到不少人的.
    首先treeview并不麻烦,很多人都会.另外:星多并不代表是高手,论坛上有很多比我高得多的人,但他们不一定有挂星.
      

  2.   

    private void Page_Load(object sender, System.EventArgs e)
    {

      if(!this.Page.IsPostBack)
    {
    this.BindTreeView();
    }
    } private void BindTreeView()
    {
    DataSet ds = DataClass.GetDataSetBySql("select * from t_dept where status =1 ");
    if(ds ==null) return;
    DataRow[] rows = ds.Tables[0].Select("Dept_UpNo='0'");
    for (int i=0;i<rows.Length;i++)
    {

    TreeNode node = new TreeNode();
    //node.Text  =rows[i]["dept_name"].ToString();
    node.NodeData =rows[i]["dept_no"].ToString(); node.NodeData =rows[i]["dept_no"].ToString();
    node.Text  ="<div oncontextmenu=\"javascript:return ShowMenu('" +node.NodeData+ "');\">"+rows[i]["dept_name"].ToString()+"</div>";

    this.tvDept.Nodes.Add(node);
    this.AddChildNodes(node,ds);
    }
    if(this.tvDept.Nodes.Count==0)
    {
    TreeNode RootNode = new TreeNode();
    RootNode.Text="<div oncontextmenu=\"javascript:return ShowMenu('0');\">没有记录(右键添加)</div>";
    RootNode.NodeData ="0";
    this.tvDept.Nodes.Add(RootNode);
    }
    this.tvDept.DataBind(); } private void  AddChildNodes(TreeNode node,DataSet ds)
    {
    DataRow[] rows = ds.Tables[0].Select("dept_upNo='"+node.NodeData+"'");
    for (int i=0;i<rows.Length;i++)
    {
    TreeNode node1 = new TreeNode();
    node1.NodeData =rows[i]["dept_no"].ToString();
    node1.Text  ="<div oncontextmenu=\"javascript:return ShowMenu('" +node1.NodeData+ "');\">"+rows[i]["dept_name"].ToString()+"</div>";

    node.Nodes.Add(node1);
    this.AddChildNodes(node1,ds);
    }
    }
      

  3.   

    呵呵,试下先
    Treeview对于新手来说确实是比较麻烦的.
      

  4.   

    前段时间正好做了个的:    private void BindTree()
        {
            DataTable dt = 数据源;  //自己去指定
            DataView dv = new DataView(dt);
            dv.RowFilter = "ParentID is null";
            foreach (DataRowView drv in dv)
            {
                TreeNode node = new TreeNode();
                node.Text = drv["Name"].ToString();
                node.Value = drv["ID"].ToString();
                node.ImageUrl = "~/images/folder.GIF";
                node.Expanded = true;
                this.tvRight.Nodes.Add(node);
                AddReplies(dt,node);
            }
        }    //递归函数????这个算不算递归啊?我也不知道哦
        private void AddReplies(DataTable dt, TreeNode node)
        {
            DataView dv = new DataView(dt);
            dv.RowFilter = "ParentID='" + node.Value + "'";
            foreach (DataRowView row in dv)
            {
                TreeNode replyNode = new TreeNode();
                replyNode.Text = row["Name"].ToString();
                replyNode.Value = row["ID"].ToString();
                replyNode.Expanded = false;
                node.ChildNodes.Add(replyNode);
                AddReplies(dt,replyNode);
            }
        }
      

  5.   

    ycqing()
    名字yc开头的,难道是老乡?
      

  6.   

    按照慕白兄,怎么提示一下错误啊?
    c:\inetpub\wwwroot\tr\WebForm1.aspx.cs(58): 找不到类型或命名空间名称“TreeNode”(是否缺少 using 指令或程序集引用?)
      

  7.   

    Animatrix(AAAA) ( ) 信誉:100    Blog 
    -------------------------------------------------
    这个简单明了,比慕白兄的更直接
    在这里的都是高手