数据库保存形式是:
     tobject (
                id int,
                name varchar(10),
                parent_id int
)在程序运行时如何把他读取出来绑定上?

解决方案 »

  1.   

    private void CreateTree() { dv = dtTree.DefaultView; dv.Sort = "ParentID ASC";  DataRowView[] arrDRV = dv.FindRows(-1 );//Get root data info if( arrDRV.Length == 0 ) return;
      TreeNode tnNew = null; foreach( DataRowView drv in arrDRV ) { tnNew = this.treeView1.Nodes.Add( drv.Row["Name"].ToString() ); tnNew.Tag = drv.Row["ID"].ToString();//Save "TypeID" in node's tag CreateTreeNode( ref tnNew ); } }  private void CreateTreeNode( ref TreeNode tnParent )
    {
    DataRowView[] arrDRV = dv.FindRows( tnParent.Tag );//Get children data info if( arrDRV.Length == 0 ) return;  TreeNode tnNew = null; foreach( DataRowView drv in arrDRV )
    {
    tnNew = tnParent.Nodes.Add( drv.Row["Name"].ToString() ); tnNew.Tag = drv.Row["ID"].ToString();//Save "ID" in node's tag
    CreateTreeNode( ref tnNew );
    } }
      

  2.   

    不要用递归,数据太多会很慢的。
    select Id,Name From 表 Where Parent_Id=父ID第一次选绑定最上层的节点 Parent_Id=0的
    以后就选中那个节点再绑定它的下级节点
    节点ID,重写一下TreeNode类就有了。