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

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

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

    菠蘿三國

    大江東去,浪淘盡...
    隨筆 - 34, 文章 - 47, 評論 - 22, 引用 - 0
    數據加載中……

    學習EXT第六天--關于樹TreePanel(Part 1)

    樹組件是YUI.Ext 0.40 新增的組件。雖然YUI已經自帶有TREE VIEW的組件,但JACK還是決定重新開發。具體原因在http://www.ajaxjs.com/yuicn/article.asp?id=20070245(翻譯文章)或http://www.jackslocum.com/blog/2006/12/29/preview-drag-and-drop-enhancements-and-the-new-treepanel/ (原文)

    一、加載一個同步Tree:

    var TreeTest = function(){
    var Tree = YAHOO.ext.tree;// 快捷方式

    return {
    init : function(){
    var tree = new Tree.TreePanel('tree_div', {//需要一個tree_div的holder
    animate:true, //是否動畫
    loader: new Tree.TreeLoader({dataUrl:'get_nodes.asp'}), //調用一個JSON
    enableDD:false,// 是否支持拖放
    containerScroll: true
    });

    // 設置根節點
    var root = new Tree.AsyncTreeNode({
    text: 'Frank的作品', //根節點文字
    draggable:false, //根節點是否可拖放
    id:'source'
    });
    tree.setRootNode(root); // 渲染 tree
    tree.render(false,false);
    // false for not recursive (the default), false to disable animation
    root.expand(false,false);
    }
    };
    }();

    YAHOO.ext.EventManager.onDocumentReady(TreeTest.init, TreeTest, true);

    通過XHR調用這個get_nodes.asp文件,假設服務器返回這樣一個JSON(有關JSON的介紹:http://www.json.org/json-zh.html):

    [{
    "text":"yui-ext.js","id":"\/yui-ext.js","leaf":true,"cls":"file"
    } ,{
    "text":"yui-ext-1118.php","id":"\/yui-ext-1118.php","leaf":true,"cls":"file"
    } ,{
    "text":"yui-ext-1228.php","id":"\/yui-ext-1228.php","leaf":true,"cls":"file"
    } ,{
    "text":"build","id":"\/build","cls":"folder"
    } ,{
    "text":"source","id":"\/source","cls":"folder"
    } ,{
    "text":"yui-ext-1123.php","id":"\/yui-ext-1123.php","leaf":true,"cls":"file"
    } ,{
    "text":"yui-ext-1203.php","id":"\/yui-ext-1203.php","leaf":true,"cls":"file"
    } ]
    
    Server端JSON的輸出(ASP JScript)
    var goods = new dbOpen();
    goods.GetSQL ="select * from goodsbigclass";
    with(goods){
    GetRS(1);
    var str="";
    str+="[";
    do{
    str+='{"text":"'+rs("BigClassName")+'","id":"\/yui-ext.js","leaf":true,"cls":"file","href":"?b_id='+rs("BigClassID")+'"},';
    rs.MoveNext();
    }while(!rs.EOF);
    str+="]";
    Response.Write(str);
    Close();
    }
    goods= null;
    

    解釋:
    “text”-->顯示的文本
    "id"-->id值
    “leaf”-->Boolean值,如果“葉子”是真的話,則不能包含子節點Children nodes
    "cls"-->選用的樣式,通常在這里選定圖標
    ”href“-->指定的url,還有一個”hrefTarget“的屬性
    另外,除了以上的屬性,您還可以在JSON加入任何的屬性,作為節點的屬性,見Jack原話:
    The href attribute is called "href", there's also an "hrefTarget" attribute. For capturing node clicks, you can listen on individual nodes or you can listen for "click" on the tree which will pass you the node that was clicked. FYI, you can put any attributes you want in the json config for the node and it will be available as node.attributes. FAQ.4會繼續解釋這個問題。
    FQA常見問題:

    1.Tree支持XML數據交換嗎?
    A:暫不支持,據FOURM上的話,以后會提供支持,見:
    can I use xml instead of json for sending nodes hirerachy ?
    Correct me if I'm wrong but I think the answer is no here. But that doesn't mean it won't be supported later on.

    2.我想用單擊代替雙擊展開子節點,可以嗎?
    A:可以,見:

    tree.on('click', function(node){
    if(!node.isLeaf()){
    node.toggle();
    }
    });

     

    3.事件處理的幾種情形:
    A: a.當加入某個節點時,為其增加事件

    tree.on('append', function(tree, node){
    if(node.id == 'foo'){
    // 這里加入你的事件(如click)偵聽器(addListener())
    }
    });

    b.針對某個節點的單擊事件

    tree.on('click', function(node){
    if(node.id == 'foo'){
    // do something
    }
    });

    c.針對某個區域(集合)的事件

    // fires any time the selection in the tree changes
    tree.getSelectionModel().on('selectionchange', function(sm, node){
    if(node && node.id == 'foo'){
    // do something
    }
    });

     

    4.如何獲取JSON中的自定義字段(或稱作參數 parameters)
    A:JSON對象已經被構建函數 construction傳遞到TreeNode中,作為node.attributes 出現,所以調用屬性node.attributes 便可獲取。詳見:http://www.yui-ext.com/forum/viewtopic.php?t=2253

    tree.on('click', function(node){
    if(!node.isLeaf()){
    node.toggle();
    }
    });

     

    posted on 2007-08-07 20:19 菠蘿 閱讀(648) 評論(0)  編輯  收藏 所屬分類: EXT

    主站蜘蛛池模板: 大桥未久亚洲无av码在线| 中文字幕亚洲综合精品一区| 国产精品成人免费观看| 日本牲交大片免费观看| 久久精品国产亚洲AV天海翼| 成人免费无码大片a毛片软件| 亚洲最大中文字幕无码网站| 美女视频黄a视频全免费网站一区| 成年女人视频网站免费m| 亚洲午夜精品久久久久久app| 最新中文字幕免费视频| 亚洲国产综合AV在线观看| 国产成人精品123区免费视频| 免费人妻精品一区二区三区| 亚洲国产综合精品中文字幕| 亚洲18在线天美| 免费看a级黄色片| 久久国产亚洲精品无码| 成人女人A级毛片免费软件 | 亚洲人成人一区二区三区| a级男女仿爱免费视频| 免费观看国产小粉嫩喷水| 九九免费久久这里有精品23| 亚洲欧洲精品无码AV| 久久国产乱子伦精品免费不卡| 亚洲狠狠ady亚洲精品大秀| a级毛片免费在线观看| 久久精品亚洲一区二区三区浴池| 和日本免费不卡在线v| 国产亚洲美女精品久久| 国产亚洲精品xxx| 一个人免费高清在线观看| 亚洲爆乳少妇无码激情| 亚洲色精品aⅴ一区区三区| 日本免费一区二区在线观看| 亚洲av纯肉无码精品动漫| 国产国拍亚洲精品mv在线观看| 久久经典免费视频| 抽搐一进一出gif免费视频| 亚洲国产成a人v在线| 亚洲一区精品伊人久久伊人|