ASP.NET2.0中 TreeView 和ORACLE 資料繫結的一種方法

來源:互聯網
上載者:User
簡介

TreeView 是一個 ASP.NET 伺服器控制項,可以產生用於顯示分層資料的使用者介面。與其他 Microsoft Internet Explorer WebControl 一樣,TreeView 控制項也會根據瀏覽器的類型來發送 HTML。在低級瀏覽器中,TreeView ASP.NET 伺服器控制項發送的頁面內容是 HTML 3.2 格式的,而在進階瀏覽器中,HTML 頁面還使用了 DHTML 行為,DHTML 行為是定義了自訂元素的用戶端組件。對於 WebControl,進階瀏覽器指 Internet Explorer 5.5 或更高版本,低級瀏覽器指 Internet Explorer 5.01 或更低版本,或者是 Internet Explorer 以外的其他瀏覽器。

TreeView 元素

您可以結合使用一個或多個由用戶端和伺服器端的 TreeView 組件支援的以下元素來建立 TreeView

元素名稱 說明
TreeView 定義一個 TreeView。
TreeNodeType 定義一個節點類型,適用於 TreeView 中的一個或一組節點。
TreeNode TreeView 中建立一個節點。

一些屬性1、autoselect=”false”:當訪問者在treeview控制項中對節點進行定位時,可以使用鍵盤上的箭頭來進行定位。屬性值為“false“,則不允許這樣做。2、Showplus=”true”:當兩個節點收到一起的時候,你可以顯示一個加號(+),訪問者就知道這個節點可以展開,該屬性值為“true“將使用加號,否則不使用。3、Showlines=”true”:在一個treeview控制項中的兩個節點之間,可以顯示一些線長,為”true”顯示。4、Expandlevel=2:用來定義treeview控制項的階層展開的層級數。5、navigateurl:點擊節點時的跳轉網址

下面通過一個例子來說明

本例子中有三層樹形結構,分別放在三個表中,我們通過while 迴圈 順序讀取所有資料,建立treenode

protected void Page_Load(object sender, EventArgs e)
    {
        tv.Nodes.Clear();
        OracleConnection ocon = ado.oraconnecttion();
        ocon.Open();
        OracleCommand ocmd = new OracleCommand("select id,des from S_MODULE order by id",ocon);
        OracleDataReader oda = ocmd.ExecuteReader();
        while (oda.Read())//第一層迴圈
        {
            TreeNode tn1 = new TreeNode();//定義節點
            tn1.Text = oda[1].ToString();//節點屬性設定
            tn1.Target = "NodeEdit";//連結目標
            tn1.NavigateUrl = "MODULEEdit.asp?MODULEID=" + oda[0].ToString();//連結地址
            OracleCommand ocmd1 = new OracleCommand("select id,des from S_TASKTYPE where MODULE='" + oda[0].ToString() +"' order by id",ocon);
            OracleDataReader oda1 = ocmd1.ExecuteReader();
            while(oda1.Read())//第二層迴圈
            {
            TreeNode tn2=new TreeNode();//定義第二存節點
                tn2.Text=oda1[1].ToString();
                tn2.Target = "NodeEdit";
                tn2.NavigateUrl = "TASKTYPEEdit.asp?TASKTYPEID=" + oda1[0].ToString();
                OracleCommand ocmd2 = new OracleCommand("select ID,DES from S_NODE where TASKID='"+oda1[0].ToString()+"' order by id",ocon);
                OracleDataReader oda2 = ocmd2.ExecuteReader();
                while (oda2.Read())//迴圈第三層
                {
                    TreeNode tn3 = new TreeNode();//第三層屬性設定
                    tn3.Text = oda2[1].ToString();
                    tn3.Target = "NodeEdit";
                    tn3.NavigateUrl = "NodeEdit.asp?NodeID=" + oda2[0].ToString();
                    tn3.ImageUrl = "image/page.png";//設定圖形
                    tn2.ChildNodes.Add(tn3);//把第三層設定為第二層的子層
                }
                oda2.Close();
                tn1.ChildNodes.Add(tn2);//把第二層設定為第一層的子層
            }
            oda1.Close();
            tv.Nodes.Add(tn1);把第一層節點加入treeview 中
        }
        oda.Close();
        ocon.Close();
       
    }//這樣經過一次的迴圈就可以把第一節點的所有子節點全部列出了,即"綜合辦公"中所有內容

不知道還有沒有其他方法和想法,希望各位多出出注意

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.