E3 tree複選樹代碼

//         業務數據解碼器,從業務數據中分解出ID和PARENTID
        UserDataUncoder uncoder = new UserDataUncoder(){
        public Object getID(Object arg0) throws UncodeException {
        TreeNode node = (TreeNode) arg0;
        return node.getId();
        }
        public Object getParentID(Object arg0) throws UncodeException {
        TreeNode node = (TreeNode) arg0;
        return node.getParentId();
        }
        };
//         模型構造器,用於生成樹模型
        AbstractWebTreeModelCreator modelCreator = new AbstractWebTreeModelCreator(){
            protected Node createNode(Object arg0, UserDataUncoder arg1) {
                TreeNode node = (TreeNode) arg0;
                WebTreeNode result = new WebTreeNode(node.getTitle(),"node"+node.getId());
                result.setAttribute("nickId", node.getId());  // Ext風格的複選樹
                //result.setValue(node.getId());     //  XTree風格的複選樹
                if(node.getUrl() != null && !node.getUrl().equals("")){  // 複選樹可以不用設置action
                    result.setAction("javascript: doAction('"+node.getUrl()+"')");
                }
                return result;
            }
        };
        modelCreator.init(request);
//         創建樹模型(模型構造器在解碼器的輔助下,生成樹模型)
        TreeModel treeModel = modelCreator.create(treeNodes, uncoder);
//         創建導向器
        TreeDirector director = new DefaultTreeDirector();
//         樹構造器
//        WebTreeBuilder treeBuilder = new XTreeBuilder(); // XTtre風格
//        WebTreeBuilder treeBuilder = new CheckXTreeBuilder(); // 普通XTree複選樹
//        WebTreeBuilder treeBuilder = new PrvCheckXTreeBuilder(); // 授權XTree複選樹
        WebTreeBuilder treeBuilder = new CheckExtTreeBuilder(); // 普通ExtTree複選樹
//        WebTreeBuilder treeBuilder = new PrvCheckExtTreeBuilder(); // 授權ExtTree複選樹
        
        treeBuilder.init(request);
//         導向器利用樹模型和樹構造器創建腳本
        director.build(treeModel, treeBuilder);
        String treeScript = treeBuilder.getTreeScript();


        request.setAttribute("treeScript", treeScript);

        request.getRequestDispatcher("/admin/left.jsp").forward(request, response);

jsp:

XTree:

獲取選中的樹節點js:

function showSelectedNodes(){
         alert(getCheckValues());
 }
 html:

<input type="button" id="hqjd" value="獲取節點" οnclick="showSelectedNodes()">

ExtTree:

獲取選中的樹節點js:

function treeRenderBeforeHandler(pTree){
            // 堅挺節點選中事件
            pTree.on("onChecked",function(node){
                // code
            });
            // 獲取選中節點值
            Ext.get("hqjd").on("click",function(){
                var checkedNodes = pTree.getChecked(); // 獲取所有的選中節點
                var text = "";
                for(var i=0; i<checkedNodes.length; i++){
                    var checkedNode = checkedNodes[i];
                    text += checkedNode.attributes.nickId + ",";
                }
                alert(text);
            });
 }

html:

<input type="button" id="hqjd" value="獲取節點" >


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章