TreeView(递归)(转)


 

 

 

 

 

代码:

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    
<title>无标题页</title>
</head>
<body>
    
<form id="form1" runat="server">
        
<div style="text-align:center;">
            
<div style="margin:5px; float:left;"><asp:TreeView runat="server" ID="Tree1"></asp:TreeView></div>
            
<div style="margin-left:12px;"><asp:GridView runat="server" ID="GridView1"></asp:GridView></div>
        
</div> 
    
</form>
</body>
</html>

 

public partial class InfoSort : System.Web.UI.Page
    
{
        DataSet ds 
= null;
        
protected void Page_Load(object sender, EventArgs e)
        
{
            
if (!IsPostBack)
            
{
                BindData();
                loadtree();
            }

        }

        
private void loadtree()
        
{
            Tree1.Nodes.Clear();
            ds 
= GetDataSet("SELECT * FROM sort");
            InitTree(Tree1.Nodes, 
0);
        }

        
private void InitTree(TreeNodeCollection Nds,int parentid)
        
{
            DataView dv 
= new DataView();
            TreeNode tmpNd 
= null;
            dv.Table 
= ds.Tables[0];
            dv.RowFilter 
= String.Format("parentid={0}", parentid);
            
foreach (DataRowView drv in dv)
            
{
                tmpNd 
= new TreeNode();
                tmpNd.Text 
= (string)drv["sortname"];//节点名称
                tmpNd.NavigateUrl = String.Format("?id={0}", drv["id"]);//节点URL
                
//tmpNd.ImageUrl = ""; //节点图片
                if (parentid == 0)
                    tmpNd.Expanded 
= true;
                
else
                    tmpNd.Expanded 
= false;
                Nds.Add(tmpNd);
                InitTree(Nds[Nds.Count 
- 1].ChildNodes, (int)drv["id"]);
            }

        }

        
private void BindData()
        
{
            GridView1.DataSource 
= GetDataSet("select * from sort");
            GridView1.DataBind();
        }


        
#region Dal
        
private OleDbConnection GetConn
        
{
            
get
            
{
                
string path = Server.MapPath("App_Data/Database2.mdb");
                
string _connStr = String.Format("Provider=Microsoft.Jet.OLEDB.4.0; Data Source={0}", path);
                
return new OleDbConnection(_connStr);
            }

        }

        
private DataSet GetDataSet(string sql)
        
{
            OleDbConnection _conn 
= null;
            OleDbDataAdapter odda 
= null;
            DataSet ds 
= null;
            
try
            
{
                ds 
= new DataSet();
                _conn 
= GetConn;
                _conn.Open();
                odda 
= new OleDbDataAdapter(sql, GetConn);
                odda.Fill(ds);
            }

            
catch (Exception ex)
            
{
                
throw new Exception(ex.Message);
            }

            
finally
            
{
                
if (odda != null)
                    odda.Dispose();
                
if (_conn != null)
                
{
                    _conn.Close();
                    _conn.Dispose();
                }

            }

            
return ds;
        }

        
#endregion

    }
 

 

 

posted @ 2011-12-05 10:50  quietwalk  阅读(229)  评论(0编辑  收藏  举报