treeview webcontrol控件在用的时候,父节点和子节点总是在一行显示是怎么回事?!请赐教!

解决方案 »

  1.   

    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Web;
    using System.Web.SessionState;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;
    using System.Data.SqlClient;
    namespace test
    {
    public class WebForm1 : System.Web.UI.Page
    {
    protected Microsoft.Web.UI.WebControls.TreeView tv;private void Page_Load(object sender, System.EventArgs e)
    {
    if (!Page.IsPostBack)
    {bindtree(tv.Nodes,"0");}
    }
    private void bindtree(TreeNodeCollection Nds , string depid)
    {
    DataSet ds=bindds();//获取DataSet,具体代码略
    DataView dv=ds.Tables["tree"].DefaultView;
    dv.RowFilter="HiDepID="+depid;
    TreeNode tn;
    string strID;
    foreach(DataRowView dr in dv)
    {
      strID=dr["DepID"].ToString();
      if (strID!="")
      {
       tn=new TreeNode();
       tn.ID=dr["DepID"].ToString();
       tn.Text=dr["Name"].ToString();
       Nds.Add(tn);
       bindtree(Nds[Nds.Count-1].Nodes,strID);
      }
    }
    }
    }
    }

    数据库结构:
    CREATE TABLE [dbo].[tbDep] (
        [DepID] [smallint] IDENTITY (1, 1) NOT NULL ,
        [DepName] [varchar] (50) NOT NULL ,
        [HiDepID] [smallint] NULL ,
    )