1. 程式人生 > >ASP.NET2.0 TreeView的資料庫繫結

ASP.NET2.0 TreeView的資料庫繫結

TreeView的資料繫結資源預設的有兩類:XML和SiteMap 

這兩類資源的共同特點就是資原始檔是固定儲存在專案中的,這一類方便我們使用來做選單,所以TreeView歸類在導航控制元件中.這裡的繫結我不做詳細的敘述,VS2005中可以很方便的使用.

TreeView還有一種用法是用來顯示資料資訊及其資料資訊的層級資訊,這裡上面的兩類就不能滿足我們的需要,我們需要的是與資料庫資源連線,而形成動態的TreeView.同樣我們還可以在資料庫中使用樹的雙親表示法把樹描述出來,例如

ID Name ParentID
1 1 0
2 2 0
3 3 0
4 4 1
5 5 1
6 6 2
7 7 2
8 8 3
9 9 7

使用這種的資料庫方法可以很方便的繫結到TreeView中,形成一個無限動態樹.(當然還有其他的資料庫的方法)

privatevoid InitTree(TreeNodeCollection Nds, string ParentId)
    
{
        DataView dvroles 
=new DataView();
        TreeNode tmpNd;
        
        
string strRID;
        dvroles.Table 
= csa.CreateDataSet("DS1").Tables["T1
"];//DataSet的DataTable表中
        dvroles.RowFilter =" ParentID="+ ParentId;
        
foreach (DataRowView drvrole in dvroles)
        
{
            strRID 
= drvrole["ID"].ToString();
            tmpNd 
=new TreeNode();
            tmpNd.Value 
= drvrole["ID"].ToString();
            tmpNd.Text 
= drvrole["Name"].ToString();
            tmpNd.Target 
= drvrole["ParenID"].ToString();
            Nds.Add(tmpNd);
            InitRoleTree(tmpNd.ChildNodes, strRID);
        }

    }

在這裡我們可以進行控制的樹的資訊有

Value 節點的ID
Text 節點的顯示資訊
Target 關聯網頁內容的目標視窗,如果沒有關聯網頁,也可以做一個數據容器
ToolTip 節點文字提示工具
ImageUrl 節點圖片
ImageToolTip 節點圖片文字提示工具