ExtJS布局:制作后台管理布局

一个后台管理页面大概头部、左侧导航、右侧的在线用户(可有可无)和状态栏(不是必须)

头部一般放一些logo、登陆用户信息和提醒事项等

我上面给出的这个图片就是我用ExtJS实现的一个后台管理页面布局,源代码如下:

Ext.onReady(function () {
    Ext.create('Ext.container.Viewport', {
        layout: 'border',
        items: [{
            region: 'north',
            html: '<h1 class="x-panel-header">Logo</h1>',
            border: false,
            height: 50,
            margins: '0 0 0 0'
        }, {
            region: 'west',
            collapsible: true,
            split: true,
            id: 'MainMenu',
            title: '系统导航',
            width: 150,
            layout: 'accordion',
            items: [
                {
                    title: '系统菜单',
                    layout: 'fit',
                    items: [
                        {
                            xtype: 'treepanel',
                            border: 0,
                            rootVisible: false,
                            root: {
                                expanded: true,
                                children: [
                                    { id: "01", text: "用户管理", leaf: true, href: '#' },
                                    { id: "02", text: "密码修改", leaf: true, href: '#' }
                                ]
                            }
                        }
                    ]
                },
            ]
            // could use a TreePanel or AccordionLayout for navigational items
        }, {
            region: 'south',
            collapsible: false,
            html: '状态栏',
            split: false,
            height: 22
        }, {
            region: 'east',
            title: '在线用户',
            collapsible: true,
            split: true,
            width: 150
        }, {
            region: 'center',
            xtype: 'tabpanel',
            id: 'MainTabPanel',
            activeTab: 0,
            items: {
                title: '首页',
                html: '<h1>欢迎使用</h1><input type="button" value="添加新标签" onclick="CreateIframeTab(\'MainTabPanel\',\'01\', \'系统管理\', \'http://www.baidu.com\');" />'
            }
        }]
    });

    bindNavToTab("MainMenu", "MainTabPanel");
});

function bindNavToTab(accordionId, tabId) {
    var accordionPanel = Ext.getCmp(accordionId);
    if (!accordionPanel) return;

    var treeItems = accordionPanel.queryBy(function (cmp) {
        if (cmp && cmp.getXType() === 'treepanel') return true;
        return false;
    });
    if (!treeItems || treeItems.length == 0) return;

    for (var i = 0; i < treeItems.length; i++) {
        var tree = treeItems[i];

        tree.on('itemclick', function (view, record, htmlElement, index, event, opts) {
            if (record.isLeaf()) {
                // 阻止事件传播
                event.stopEvent();

                var href = record.data.href;

                if (!href) return;
                // 修改地址栏
                window.location.hash = '#' + href;
                // 新增Tab节点
                CreateIframeTab(tabId, record.data.id, record.data.text, href);
            }
        });
    }
}

function CreateIframeTab(tabpanelId, tabId, tabTitle, iframeSrc) {
    var tabpanel = Ext.getCmp(tabpanelId);
    if (!tabpanel) return;  //未找到tabpanel,返回

    //寻找id相同的tab
    var tab = Ext.getCmp(tabId);
    if (tab) { tabpanel.setActiveTab(tab); return; }

    //新建一个tab,并将其添加到tabpanel中
    //tab = Ext.create('Ext.tab.Tab', );
    tab = tabpanel.add({
        id: tabId,
        title: tabTitle,
        closable: true,
        html: '<iframe style="overflow:auto;width:100%; height:100%;" src="' + iframeSrc + '" frameborder="0"></iframe>'
    });
    tabpanel.setActiveTab(tab);
}

如果认为此文对您有帮助,别忘了支持一下哦!

作者:齐飞

来源:http://youring2.cnblogs.com/

声明:本博客原创文字只代表本人工作中在某一时间内总结的观点或结论,与本人所在单位没有直接利益关系。非商业,未授权,贴子请以现状保留,转载时必须保留此段声明,且在文章页面明显位置给出原文连接。

转载:http://www.cnblogs.com/youring2/archive/2013/03/05/2943846.html

时间: 2024-12-10 20:03:01

ExtJS布局:制作后台管理布局的相关文章

CSS3实例案例:CSS3制作网站管理后台面板

文章简介:css3制作后台管理面板. demo download HTML结构 <div class="admin-panel clearfix">  <div class="slidebar">    <div class="logo">      <a href=""></a>    </div>    <ul>      <li&g

使用JQUERY进行后台页面布局控制DIV实现左右式

  一个网站的后台使用frame框架来实现这种形式,这边作者不是使用的frame而是纯div进行布局,下面看下具体的实现代码 一个网站的后台管理都有一部分是保持固定位置不动,可编辑部分是随浏览器变化而变化的,因此有的时候使用frame框架来实现这种形式,这边作者不是使用的frame而是纯div进行布局,想要实现这种方式需要怎么做呢,下面就控制DIV实现左右式,左边固定,右边随浏览器变化而变化的JQUERY实现代码.  代码如下: <script type="text/javascript&

使用JQUERY进行后台页面布局控制DIV实现左右式_jquery

一个网站的后台管理都有一部分是保持固定位置不动,可编辑部分是随浏览器变化而变化的,因此有的时候使用frame框架来实现这种形式,这边作者不是使用的frame而是纯div进行布局,想要实现这种方式需要怎么做呢,下面就控制DIV实现左右式,左边固定,右边随浏览器变化而变化的JQUERY实现代码. 复制代码 代码如下: <script type="text/javascript"> //根据浏览器大小调整左右布局的大小 $(window).ready(function(){ va

Android制作漂亮自适布局键盘的方法_Android

最近做了个自定义键盘,但面对不同分辨率的机型其中数字键盘不能根据界面大小自已铺满,但又不能每种机型都做一套吧,所以要做成自适应,那这里主讲思路. 这里最上面的titlebar高度固定,下面输入的金额高度也固定(当然也可以自适应),主要是中间的数字键盘,高度和宽度需要自适应.先来张效果图: 最常见的解决方案是用线性布局,自适应当然是按比例,但布局中无%的概念,那就要用到layout_weight了,该属性的作用是决定控件在其父布局中的显示权重(具体概念就不多说了). 这里用一个LinearLayo

怎么制作asp.net后台管理

问题描述 怎么制作asp.net后台管理 要用sql2008 vs2010 谁能帮我分析下? 求教 要实现后台编辑 后台管理注册. 解决方案 asp.net后台管理网页整体样式,以及风格 解决方案二: 跟你写个web一样,功能不一样而已

代码-页面框架布局制作源码

问题描述 页面框架布局制作源码 请问页面框架布局制作代码如何Javascript部分编写,左菜单布局CSS样式,求分享 解决方案 看看DWZ富客户端框架是否符合你的需求.

PE自设财管中心:九鼎鼎晖布局第三方财富管理

一边是第三方理财向全资产管理挺进,另一边是综合PE开始自设财富管理中心九鼎鼎晖布局第三方财富管理PE自设财富管理中心,短期是推销自己的产品,长期看是谋求新的利润增长点随着市场冬天的来到,突击入股pre-IPO项目的黄金时代不复返.越来越多PE正寻找创新转型之路.在近期的一则招聘启事中,昆吾九鼎投资管理有限公司(下称九鼎)称拟筹建山西财富中心,负责公司股权基金销售推广工作,邀请"有私人银行.券商销售交易部客户开发与服务经验,或基金公司直销经验"."良好客户资源.丰富销售经验&q

CSS网格布局:制作网页图片幻灯图库特效

文章简介:这里我们指导您使用网格布局来创建一个图片游览库的灯箱效果.我们使用网格布局组织页面的内容,和用媒体查询来优化布局,用于横屏竖屏都能查看.在竖屏中,浏览器高度大于其宽度,在横屏中,浏览器宽度大于其高度. 毫无疑问,当开发人员谈到网页布局时会有很多选择.为了确保你的布局可以适应不同设备.方向和屏幕大小,你需要慎重考虑清楚,你要使用哪些方法来布局.网格布局是一个新的布局方法,使你可以把网页的主要区域在游览器窗口内设置一个固定大小或者自由空间,你也可以两个同时使用. 因为网格布局使用您能够根据

软件系统的后台管理中心的功能扩展性和易用性

网页制作Webjx文章简介:网站管理页面设计技巧:布局中的黄金法则. 关于"管理中心"的界面设计框架,一般我们都会选择传统的"工"字结构,顶部是形象区,左侧是功能列表区,右侧是操作区,这种结构的功能扩展性和易用性都是非常好的,几乎90%以上的软件系统的后台管理中心都是采用这样的结构.         在实际设计工作中我们发现,用户总是希望能把操作区的区域尽量变大,以最大限度满足业务工作,提高使用效率.我们对信息的浏览习惯于向下扩展,进行纵向滚动.也就是说在显示器分辨