<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    iNeo

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      30 Posts :: 8 Stories :: 2 Comments :: 0 Trackbacks
    2.1 表示層實現

      類似Windows資源管理器的文件夾模式,節點的圖片樣式如表1所示。對于每個節點的DHTML 代碼,需要包含節點的位置、前導圖片、樣式、針對該節點的其他操作等。同時為了節點顯示的連貫性,還需一些前導圖片。

      表1 樹節點的前的圖片樣式表

     對于樹的非葉子節點,圖片和節點信息等,采用一個DIV ( division) 容器包含。DIV 等容器是DHTML 的基礎,使用它可以通過腳本程序對其屬性進行操作,如設置其style 樣式的display 屬性來控制子節點的展開和隱藏。節點的位置、前導圖片、樣式、針對該節點的其他的操作等都放入容器中,例:

    < DIV id =mParentID>
    < IMG align = center border = 0 onclick =″nodeExpand (‘leafid’)″ name = m1Tree src =′Tplus.gif′>
    < IMG align = center border = 0 name = m1Folder src =′folderClosed. gif′> 計算機學院 </p>

      葉子節點無需容器直接輸出即可。

      當點擊某節點前的“ + ”、“ - ”圖片時通過DIV 的style 樣式的display 屬性控制子節點的展開和隱藏。display:“none”(隱藏,不可見),display:“block”(顯示) 。相關JavaScript 代碼如下:

    if (expandChild.style.display = =″none″){
     // 當前為隱藏狀態,執行展開動作
     this.Loading(parentObject);//判斷該分支的數據是否已經加載
     expandChild.style.display =″block″;
    if (para2 = =″last″)
     parentObject.src =″Lminus. gif″; // 最后一個節點
    else
     parentObject.src = ″Tminus. gif″; // 顯示┠
     expandFolder.src = ″folderOpen. gif″;
    }else {
     // 將當前節點的子節點全部隱藏
     expandChild.style.display = ″none″;
     if (para2 = = ″last″)
      parentObject.src = ″Lplus. gif″;
     else
      parentObject.src = ″Tplus. gif″;
      expandFolder.src = ″folderClosed. gif″;
    }

      2.2 樹型表結構設計

      我們以數據庫為載體記錄節點的變化,樹型表結構至少要有以下字段:節點的編號(CLASSID) ,對節點的描述(ClassName),父節點的編號(ParentId),這些是構建樹結構所必須的信息。同時引入節點的類別代碼(ClassCode),節點的級別(ClassLevel),是否葉子節點 (Terminated)等輔助字段,記錄節點次序,實體關系圖如圖3所示。


    圖 3 樹型表結構示意圖

      樹遍歷的時間復雜度是O( n ),但是將樹信息存放到數據庫后,就不能按傳統的方式遍歷樹,必須使用SQL 語句訪問數據庫表的內容,而一次性取的數據量越多,消耗的資源也越多,用戶等待的時間就越長。如果將無序的數據從數據庫中讀出,在服務器端,必須將排序后的樹送到客戶端顯示。因此,最好從數據庫讀出已排好序的樹。

      我們知道,字符串排序是按照字典序形式。結合SQL 語句的特點和樹結構特點,數據庫表中,節點的類別代碼采用多級字符串形式,如AAABBBCCC,從樹根節點開始,每向下一級字符串就增加一級,并且子節點類別代碼以父節點類別代碼開始,再開始本級的類別代碼。同級的節點按照生成的順序編號,如節點類別代碼為AAA 的下一級孩子類別代碼為AAAAAA,AAAAAB 等,AAAAAB 的孩子節點為AAAAABAAA、AAAAABAAB等。每一級編號字符的寬度與實際的應用關聯,如AAA~ZZZ 一級則有263 個節點,如果不夠用再增加一個字符用于編碼。該巧妙的編號方式。使得在執行SQL 語句select * from tree_class order by classcode 后,一次獲得完整的先序.

    原文鏈接:http://www.7dspace.com/doc/44/0512/2005122906292220003.htm

    posted on 2005-12-30 08:31 只牽這只狗 閱讀(397) 評論(0)  編輯  收藏 所屬分類: Ajax
    主站蜘蛛池模板: 在线观看亚洲av每日更新| 免费看国产精品3a黄的视频| 免费人成网站在线高清| 久久亚洲国产最新网站| 女人张腿给男人桶视频免费版| 亚洲美女一区二区三区| 四虎1515hh永久久免费| 亚洲手机中文字幕| 大地资源在线观看免费高清| 国产精品亚洲四区在线观看| 无码中文在线二区免费| 国产精品高清免费网站| 亚洲av午夜精品一区二区三区| 成年大片免费高清在线看黄| 日本免费电影一区二区| 精品无码一区二区三区亚洲桃色| 日韩精品内射视频免费观看| 亚洲高清中文字幕综合网| 99久久这里只精品国产免费| 亚洲女子高潮不断爆白浆| 亚洲&#228;v永久无码精品天堂久久 | 人妻无码久久一区二区三区免费| 亚洲一区二区电影| 男女做羞羞的事视频免费观看无遮挡 | 在线观看AV片永久免费| 亚洲乱色伦图片区小说| 四虎永久成人免费影院域名| 一级毛片a免费播放王色 | 亚洲色偷偷偷网站色偷一区| 午夜性色一区二区三区免费不卡视频 | 国产成人 亚洲欧洲| 亚洲色偷偷偷鲁综合| 亚洲综合免费视频| 亚洲最大激情中文字幕| 99视频免费播放| 亚洲AV成人精品日韩一区| 亚洲午夜福利717| 国产精品成人免费福利| 特级毛片免费播放| 久久夜色精品国产亚洲AV动态图| 黄页网站在线看免费|