当然有
<xs:element name="FDepartId" msdata:ReadOnly="true" msdata:AutoIncrement="true" type="xs:int" />
<xs:element name="FParentDepartId" type="xs:int" />
<xs:element name="FDepartSerial" type="xs:string" minOccurs="0" />
<xs:element name="FDepartName" type="xs:string" />
<xs:element name="FReserveredDepart" type="xs:boolean" />
这是数据结束
其中以FParentDepartId=0表示一级节点
在pageload中加入
this.InitTV_Depart(this.TV_Depart.Nodes,0);其中InitTV_Depart方法如下
private void InitTV_Depart(Microsoft.Web.UI.WebControls.TreeNodeCollection tnc,int intParentID)
{
System.Data.DataView dv=new System.Data.DataView();
dv.Table=this.dS_DepartInfo1.Tables[0];
dv.RowFilter="FParentDepartId="+intParentID.ToString(); int intDepartID;
Microsoft.Web.UI.WebControls.TreeNode tn;
foreach(System.Data.DataRowView drv in dv)
{
tn=new Microsoft.Web.UI.WebControls.TreeNode();
tn.NodeData =drv["FDepartId"].ToString().Trim();
tn.Text=drv["FDepartName"].ToString().Trim();
tnc.Add(tn); intDepartID=(int)drv["FDepartId"];
this.InitTV_Depart(tn.Nodes,intDepartID);
}
}将字段名和 treeview控件名换成你的试试

解决方案 »

  1.   

    我觉得还是我的好。下面的例子经过本人调试成功。 数据库的表结构是par_id,par_id,f_name.其中:所有的根结点的par_id为-1;而且所有的字段均为VARCHAR2类型。
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            '在此处放置初始化页的用户代码
            If Not IsPostBack Then
               intiTree(TreeView2.Nodes, "-1")
            End If
        End Sub Private Sub intiTree(ByRef Nds As TreeNodeCollection, ByVal parentId As String)
            Dim sql As String = "select * from xj.treeview where par_id='" + parentId + "'"
            Dim myDataAdapter As New OleDbDataAdapter(sql, con)
            Dim ds As New DataSet()
            myDataAdapter.Fill(ds, "tree")
            Dim mydatable As DataTable
            mydatable = ds.Tables("tree")
            If mydatable.Rows.Count = 0 Then
                Exit Sub
            End If
            Dim drv As DataRowView
            Dim tmpNd As TreeNode
            For Each drv In mydatable.DefaultView
                tmpNd = New TreeNode()
                Dim strid As String
                strid = drv("CUR_ID")
                tmpNd.ID = strid
                tmpNd.Text = drv("F_NAME")
                Nds.Add(tmpNd)
                intiTree(tmpNd.Nodes, strid)
            Next
        End Sub