`
qinya06
  • 浏览: 584561 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

extjs boder 布局

阅读更多
border布局是常见的布局样式,下面是一个实际项目的示例,比较简单,仅供初学者参考。



前两天遇到一个border布局的界面问题,如下:

west是一个tree a,center是一个tree b和一个Panel,如下图
界面要求:

点击左边树节点【培训项目】,打开右边的界面:包括一个树和一个panel。



功能要求:

点击右边树的节点,班型列表会根据树节点的ID进行查询,并显示相应的查询结果。



问题:

整个界面的右半部分怎样布局?



解决:

左边的tree就不用解释了,是哪里都能找到的样式。这里主要解释下右半部分的布局:

通常情况下,点击树节点,在布局的某个部分(常见的是center位置)打开一个界面的常用方式是:
contentEl : 'center1',   
html : '<iframe scrolling="auto" frameborder="0" width="100%"height="100%" src="classTypeNew.jsp"></iframe>'  


但这种方式不能在目前场景下使用,因为panel要能获得从tree b传递过来的参数,所以上面这种方式是不行的:classTypeNew.jsp无法获得tree b的节点ID。



建议采用如下方式:

1.整体采用border布局。tree a位于west,tree b和Panel位于center。

2.tree b和Panel采用border布局。tree b位于west,Panel位于center。

/**  
     * 班型管理部分  
     */  
    var _JwSales = new Ext.Panel({   
        region : 'center',   
        collapsible:true,                  
        items:[_gridStudyClassType,_panelStudyClassTypeInf,_panelStudyClassTypeNodes],   
           
        listeners:{   
            "show":function(){   
               
                _panelStudyClassTypeInf.getForm().reset();   
                   
                _sessionStore.load();   
           
                var _record = _sessionStore.getAt(0);   
                   
                Ext.getCmp("iStudyClassTypeOprUserName").setValue(_record.get("userName"));   
                Ext.getCmp("iStudyClassTypeOprUserId").setValue(_record.get("userId"));   
            }   
        },   
           
        buttons:[   
            {   
                text:"保存",   
                   
                listeners:{   
                    "click":function(){   
                       
                        var stId = Ext.getCmp("iStudyClassTypeStId").getValue();   
                       
                        if(_panelStudyClassTypeInf.getForm().isValid())   
                        {   
                            var arrayInfKey = getArrayStudyClassTypeKey();   
                               
                            var arrayInfValue = getArrayStudyClassTypeValue();   
                               
                            var arrayNodesKey = getStudyTypeNodesKey();   
                               
                            var arrayNodesValue = getStudyTypeNodesValue();                            
                                                           
                            if(stId == "")   
                            {   
                                //添加   
                                   
                                MSClassType.isDo4Add(Ext.getCmp("iItemCombo").getValue(),   
                                                        "stName",   
                                                            Ext.getCmp("iStudyClassTypeStName").getValue(),   
                                    function addRtn(rtn)   
                                    {   
                                        if(rtn == "true")   
                                        {   
                                            MSClassType.createEntity(   
                                                arrayInfKey,arrayInfValue,   
                                                arrayNodesKey,arrayNodesValue,   
                                                   
                                                function createEntityRtn(rtnCreate){   
                                       
                                                    if(rtnCreate == "success")   
                                                    {   
                                                        Ext.MessageBox.alert("信息提示","添加成功,点击返回!");   
                                                   
                                                        _storeStudyClassType.load({params:{start:0,limit:6}});   
                                                           
                                                        Ext.MessageBox.alert("信息提示","添加成功,点击返回!");   
                                                           
                                                        addHandler();   
                                                    }   
                                                    else  
                                                    {   
                                                        Ext.MessageBox.alert("信息提示","添加失败,请与系统管理员联系!");   
                                                    }   
                                                }   
                                            );   
                                        }   
                                        else  
                                            Ext.getCmp("iStudyClassTypeStName").markInvalid("已经存在的班型名称");   
                                    }   
                                );   
                            }   
                            else  
                            {   
                                if(Ext.getCmp("iStudyClassTypeStatus").getValue() != "1")   
                                {   
                                    Ext.MessageBox.alert("信息提示","已经提交或删除,无法修改!");   
                                       
                                    return ;   
                                }   
                                   
                                /*  
                                 * arrayTextbooksKey,arrayTextbooksValue,  
                                                arrayEmsKey,arrayEmsValue,  
                                                arrayGiftsKey,arrayGiftsValue,  
                                                arrayPsKey,arrayPsValue,  
                                 * */  
                                   
                                //修改   
                                MSClassType.isDo4Edit(Ext.getCmp("iItemCombo").getValue(),stId,   
                                                        "stName",   
                                                            Ext.getCmp("iStudyClassTypeStName").getValue(),   
                                    function editRtn(rtn)   
                                    {   
                                        if(rtn == "true")   
                                        {   
                                            MSClassType.updateEntity(   
                                                stId,arrayInfKey,arrayInfValue,   
                                                arrayNodesKey,arrayNodesValue,   
                                                   
                                                function updateEntityRtn(rtnUpdate){   
                                       
                                                    if(rtnUpdate == "success")   
                                                    {   
                                                        Ext.MessageBox.alert("信息提示","更新成功,点击返回!");   
                                                   
                                                        _storeStudyClassType.load({params:{start:0,limit:9}});   
                                                           
                                                        Ext.MessageBox.alert("信息提示","更新成功,点击返回!");   
                                                    }   
                                                    else  
                                                    {   
                                                        Ext.MessageBox.alert("信息提示","更新失败,请与系统管理员联系!");   
                                                    }   
                                                }   
                                            );   
                                        }   
                                        else  
                                            Ext.getCmp("iStudyClassTypeStName").markInvalid("已经存在的班型名称");   
                                    }   
                                );   
                            }   
                        }   
                    }   
                }   
            },   
            {   
                text:"提交",   
                handler:submitHandler   
            },   
            {   
                text:"清空",   
                handler:addHandler   
            }   
        ]   
    });   
  
  
var _treeItem = new Ext.tree.TreePanel({   
           
        title : '导航栏',   
        region : 'west',   
        split : true,   
        border : true,   
        bodyStyle: 'background-color:#FFFFFF',   
        collapsible : true,   
        autoScroll : true,   
        width : 180,   
        minSize : 180,   
        maxSize : 280,   
        enableDD : true,   
           
        el:"_treeItemDiv",   
        id:"_treeItem",   
        loader : new Ext.tree.TreeLoader({dataUrl :'itemData.jsp'}),   
           
        listeners:{   
            'dblclick':function(node,e){   
                var subjectID = node.attributes.id;//科目ID   
                alert("科目ID = "+ subjectID);   
                   
                _storeStudyClassType.removeAll();   
                _storeStudyClassType.load({params:{start:0,limit:20,subjectID:node.attributes.id}});   
            },   
               
            "contextmenu":function(node,e){   
                   
                if(node.attributes.id == "0")   
                {   
                    var nodemenu=new Ext.menu.Menu({   
                     
                    items:[   
                        {   
                            text:"添加项目",   
                            iconCls:'icon-table-add',   
                            handler:function(){   
                                   
                                _winBaseItemOpr.setTitle("项目管理-添加");   
                                _winBaseItemOpr.show();   
                                   
                                _panelBaseItemOpr.getForm().reset();           
                                   
                                Ext.getCmp("iStudyBaseItemSuperiorItemId").setValue(node.attributes.id);   
                                Ext.getCmp("iStudyBaseItemShowIndex").setValue(node.childNodes.length+1);    
                            }   
                        }   
                        ]   
                    });   
                   
                    nodemenu.showAt(e.getPoint());   
                }   
                else  
                {   
                    var nodemenu=new Ext.menu.Menu({   
                     
                    items:[   
                        {   
                            text:"删除项目",   
                            iconCls:'icon-minus',   
                            handler:function(){   
                                   
                                   
                            }   
                        },{   
                            text:"修改项目",   
                            iconCls:'icon-table-edit',   
                            handler:function(){   
                                   
                                _winBaseItemOpr.setTitle("项目管理-浏览");   
                                _winBaseItemOpr.show();   
                                   
                                _panelBaseItemOpr.getForm().reset();   
                                   
                                Ext.getCmp("iStudyBaseItemItemId").setValue(node.attributes.id);   
                                Ext.getCmp("iStudyBaseItemItemName").setValue(node.attributes.text);   
                                Ext.getCmp("iStudyBaseItemSuperiorItemId").setValue(node.attributes.superiorItemId);   
                                Ext.getCmp("iStudyBaseItemShowIndex").setValue(node.attributes.showIndex);   
                                Ext.getCmp("iStudyBaseItemInf").setValue(node.attributes.inf);   
                            }   
                        }]   
                    });   
                   
                    nodemenu.showAt(e.getPoint());   
                }   
            }   
        }   
    });   
  
    var _rootItem = new Ext.tree.AsyncTreeNode({text:"尚德教育在线",id:"0"});   
       
    _treeItem.setRootNode(_rootItem);      
       
    var _panelOrg = new Ext.form.FormPanel({   
        collapsible:true,   
        frame:true,   
        width:bodyWidth,   
        height:bodyHeight,   
        items:[_treeItem],   
        autoScroll:true  
    });   
  
    _panelOrg.render("_panelItemDiv");   
       
    _rootItem.reload();   
       
       
    /**  
     * 生成一个ViewPort,采用Border布局,保留天地栏,左中栏  
     */  
    var viewport = new Ext.Viewport({   
        layout : 'border',   
        items : [_treeItem, _JwSales]   
    });  
  • 大小: 72.5 KB
分享到:
评论

相关推荐

    ExtJs常用布局--layout详解实例代码

    ExtJs常用布局--layout详解实例代码: ExtJs常见的布局方式有:border、form、absolute、column、accordion、table、fit、card、anchor 另外,不常见的布局有:tab、vbox、hbox 具体使用方法可见该文件的案例代码。 ...

    Extjs4.1布局与树

    纯Extjs代码,对初学Ext有点点帮助

    Extjs中布局的组合使用中文WORD版

    资源名称:Extjs中布局的组合使用 中文WORD版内容简介:本文档主要讲述的是Extjs中布局的组合使用;Extjs4.1中布局很经典,也很好用,关键是如何组合布局,组合布局,不仅要达到我们想要的界面效果,还要注意因为...

    extjs页面布局生成器

    很好的ext页面布局自动生成功能,快速布局,减少你页面开发时间!用法:解压-&gt;添加文件夹到一个web工程当中-&gt;进入index.html进入页面编辑就可以自由设计你的布局了,代码在查看/修改中可以看到,只需复制粘贴到自己...

    ExtJS布局之border实例

    ExtJS布局之border实例,有代码 border布局是常见的布局样式,下面是一个实际项目的示例,比较简单,仅供初学者参考。

    ExtJS4.1布局后台系统

    用ExtJS4.1布局后台系统,这个是自写的js,extjs4.1的源码包,需要到extjs.org.cn下载。

    ExtJs4 layout 布局

    ExtJs4 layout 布局 这是鄙人之前自学Ext时收集的文档,详细讲诉了各种布局,并附源码与界面展示,希望能给你带来帮助

    extjs本地布局编辑器

    extjs本地布局编辑器~开发extjs的好工具,推荐下载。html页面,方便

    ExtJs布局教程Ext详细布局

    Extjs布局教程,Extjs 布局,非常好用的Extjs布局教程

    Extjs布局实例

    Extjs布局实例

    ExtJs4.2首页布局示例

    左边菜单,右边是内容,北边是log图片 简单首页布局示例

    Extjs之布局

    Extjs之布局

    extjs布局全面讲解

    extjs布局全面讲解,此文档全面讲解了,ExtJS的布局空间的使用。

    extjs主页布局

    我的extjs主页布局,分为左边,上边,下边和中间区域,左边是树形

    ExtJS布局练习例

    ExtJS布局练习例,各种布局交接,extJs布局讲解明星

    EXTJS学习,webform+mvc routeing extjs布局 适合初学者

    EXTJS学习,webform+mvc routeing extjs布局 适合初学者

    EXTjs 简单布局实例

    Ext 漂亮界面设计 //实例菜单树形 menuTree:new Ext.tree.TreePanel({ title:'功能菜单', region:'west', bodyStyle:'background:transparent url(images/default/panel/group-lr.gif) repeat-x 0 bottom;...

    ExtJS之布局详解

    折叠布局Ext.layout.AnchorLayout 边框布局Ext.layout.BorderLayout 卡片式布局Ext.layout.CardLayout 列布局Ext.layout.ColumnLayout 填充布局xt.layout.FitLayout 表单布局Ext.layout.FormLayout 表格布局Ext....

    Extjs面板和布局

    本书主要介绍了,如何在extjs中布局,以及对一些Panel控件做了详细的介绍....

Global site tag (gtag.js) - Google Analytics