学习ExtJS的grid布局

这是之前学习ExtJS布局的时候我导师让我重点熟悉的内容。之后会发一个最近写的结合MVC项目的grid布局的案例。

上一篇关于ExtJS的学习资料什么的都已经更在上一篇了,这里只是对一些代码的记录。

【学习资料】(ExtJS4中的Grid、Tree、Form)http://www.cnblogs.com/niejunchan/p/4998512.html

【效果】

Array_Grid

Tree_Grid

【代码】

[Array_Grid的代码]

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
    <meta charset="utf-8" />
    <script src="Scripts/Extjs/ext-all.js"></script>
    <script src="Scripts/Extjs/packages/ext-locale/build/ext-locale-zh_CN.js"></script>
    <script src="Scripts/Extjs/ux/app.js"></script>
    <link href="Scripts/Extjs/packages/ext-theme-crisp/build/resources/ext-theme-crisp-all.css" rel="stylesheet" />
    <!--<script type="text/javascript">
        //测试上面js,css文件是否连接进来用的
        Ext.onReady(function () {
            Ext.Msg.alert("hh", "welcome");
            var win = new Ext.Window({ title: "hello", width: 200, height: 300, html: ‘<h1>ok....just  a  test....</h1>‘ });
            win.show();
        });
    </script>-->
    <script type="text/javascript">
        Ext.onReady(function () {
            var userStore = Ext.create("Ext.data.Store", {
                fields: ["account", "name", "sex", "age", "role"],
                data: [
                    ["zhanglei", "张磊", "男", "30", "管理员"],
                    ["liming", "黎明", "男", "27", "主编"],
                    ["liuying","刘颖","女","22","内容编辑"]
                ]
            });

            Ext.create("Ext.grid.Panel", {
                title: ‘多表头Grid‘,
                margin: 10,
                width: 600,
                height: 400,
                border: true,
                //添加左边的checkbox
                selModel: {
                    type:"checkboxmodel"
                },
                store: userStore,//加载数据
                columns: [{
                    text: "账号",
                    dataIndex: "account",
                    flex: 1,
                    align:‘center‘,

                }, {
                    text: "基本信息",
                    flex: 3,
                    align: ‘center‘,
                    columns: [{
                        text: ‘姓名‘,
                        dataIndex: ‘name‘,
                        align:‘center‘
                    }, {
                        text: ‘性别‘,
                        dataIndex: ‘sex‘,
                        align:‘center‘
                    }, {
                        text: ‘年龄‘,
                        dataIndex: ‘age‘,
                        align:‘center‘
                    }]},
                     {
                         text: ‘角色‘,
                         dataIndex: ‘role‘,
                         flex:1,
                         align:‘center‘
                     }, ],
                //增加分页控件
                bbar: {
                    xtype: ‘pagingtoolbar‘,
                    store: userStore,
                    displayInfo:true
                },
                renderTo:Ext.getBody()
            });

        });
    </script>

</head>
<body>

</body>
</html>

[Tree_Grid的代码]

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
    <meta charset="utf-8" />
    <script src="Scripts/Extjs/ext-all.js"></script>
    <script src="Scripts/Extjs/packages/ext-locale/build/ext-locale-zh_CN.js"></script>
    <script src="Scripts/Extjs/ux/app.js"></script>
    <link href="Scripts/Extjs/packages/ext-theme-crisp/build/resources/ext-theme-crisp-all.css" rel="stylesheet" />
    <!--<script type="text/javascript">
        //测试上面js,css文件是否连接进来用的
        Ext.onReady(function () {
            Ext.Msg.alert("hh", "welcome");
            var win = new Ext.Window({ title: "hello", width: 200, height: 300, html: ‘<h1>ok....just  a  test....</h1>‘ });
            win.show();
        });
    </script>-->
 <script type="text/javascript">
     Ext.onReady(function () {
         Ext.define("DeptModel", {
             extend: "Ext.data.TreeModel",
             fields: [
                 "DeptName","Leader"
             ]
         });

         var store = Ext.create("Ext.data.TreeStore", {
             model: "DeptModel",
             root: {
                 expanded: true,
                 DeptName: "总公司",
                 Leader: "Lin",
                 children: [
                     { DeptName: "技术部", Leader: "xia", leaf: true },
                     { DeptName: "财务部", Leader: "Li", leaf: true }
                 ]
             }
         });
         var viewport = Ext.create("Ext.container.Viewport", {
             layout: "auto",
             items: [{
                 xtype: "treepanel",
                 itemId: "tree",
                 width: 600,
                 height: 500,
                 store: store,
                 lines: false,
                 useArrows: true,
                 multiSelect:true,
                 columns: [
                     {
                         xtype: ‘treecolumn‘,
                         text: ‘部门‘,
                         dataIndex: "DeptName",
                         flex: 1,
                         sortable:false
                     },
                     {
                         text: "领导",
                         dataIndex: "Leader",
                         flex: 1,
                         sortable:true

                     }, {
                         xtype: ‘checkcolumn‘,
                         header: ‘选择‘,
                         dataIndex: ‘done‘,
                         flex: 1,
                         stopSelection: false,
                         menuDisabled:true,
                     }, {
                         xtype: ‘actioncolumn‘,
                         flex: 1,
                         items: [

                             {
                                icon: ‘Content/images/user_edit.png‘,//需要自己把图片弄进去才有

                                 tooltip: ‘Edit‘,
                                 handler: function (grid, rowIndex, colIndex) {//这里的方法只是一个弹出信息,可替换成具体实现
                                     var rec = grid.getStore().getAt(rowIndex);
                                     Ext.MessageBox.alert(‘Edit‘, rec.get(‘Leader‘));
                                 }
                             }, {
                                 icon: ‘Content/images/user_delete.png‘,

                                 tooltip: ‘Delete‘,
                                 handler: function (grid, rowIndex, colIndex) {
                                     var rec = grid.getStore().getAt(rowIndex);
                                     Ext.MessageBox.alert(‘Delete‘, rec.get(‘Leader‘));
                                 }
                             }
                         ]
                     }
                 ],
                 bbar: {
                     xtype: ‘pagingtoolbar‘,
                     store: store,
                     displayInfo: true
                 },

             }]

         });

     });
 </script>
</head>
<body>

</body>
</html>

时间: 2024-08-08 16:04:49

学习ExtJS的grid布局的相关文章

[ExtJS5学习笔记]第三十四节 sencha extjs 5 grid表格之java后台导出excel

继上次使用js前端导出excel之后,还有一个主要大家比较关注的是后台实现导出excel,因为本人开发使用的java所以这里使用apache的开源项目poi进行后台excel的导出. 本文目录 本文目录 poi项目下载及加载 extjs前端导出设置 extjs后台对应的解决方案 创建excel工作簿 创建一个excel页签 生成excel样式并初始化 产生表格标题行build headers 构造数据行build rows poi项目下载及加载 POI项目是apache官网的一个开源项目,其主要

[ExtJS5学习笔记]第三十三节 sencha extjs 5 grid表格导出excel

使用extjs肯定少不了使用表格控件,用到表格,领导们(一般)还是惯于使用excel看数据,所以用到extjs表格的技术猿们肯定也会有导出表格excel这一个需求,本文主要针对如何在用extjs将grid表格导出到excel,使用的是前端导出,不涉及后端. 本文目录 本文目录 源代码打包下载 将源代码嵌入到应用中 查看导出按钮以及导出效果 扩展支持sum统计和groupsum分组 源代码打包下载 本次使用的是github上的一个开源项目Exporter 下载地址:https://github.c

【ExtJS】简单布局应用

前几天学习了ExtJS的各种布局后,以下就是各种实践,从简单做起. 实现目的: 一个提交表单页,一个显示信息页,表单为个人基本资料输入,显示页为基本信息展示. 内容: 总体布局为border布局,展示页为west,提交表单为center.展示页可折叠,默认为折叠状态. 1.展示页用一个panel展示.可折叠,默认为折叠状态.点击提交后展示,点击关闭后关闭. 1 var show = Ext.create('Ext.panel.Panel',{ 2 region: 'west', 3 title:

Golang Gtk+3教程:Grid布局

在上个例子中我们使用了box布局,现在让我们来学习另一种布局--grid.其实这几种布局都大同小异,如果你看懂了上一个例子,想必使用grid也不是难事. 程序运行效果: package main import ( "github.com/gotk3/gotk3/glib" "github.com/gotk3/gotk3/gtk" "os" ) func main() { const appId = "com.nayoso.example

EXTJS中grid的数据特殊显示,不同窗口的数据传递

//EXTJS中grid的数据特殊显示renderer : function(value, metaData, record, rowIndex, colIndex, store, view) { var USED_AMOUNT_ = 0; for (var i = 0; i < matMonthPlanHisList.length; i++) { if(matMonthPlanHisList[i].MAT_NO_ == record.get('MAT_NO_')){ USED_AMOUNT_

EasyUI学习总结(六)——EasyUI布局

EasyUI学习总结(六)--EasyUI布局 一.EasyUI布局介绍 easyUI布局容器包括东.西.南.北.中五个区域,其中中心面板是必须的,而东.西.南.北这四个面板是可选的,如果布局里面不需要东.西.南.北这四个面板,那么可以把相应的div删掉,另外,如果需要创建复杂的easyUI布局,那么可以通过嵌套东.西.南.北.中五个面板来实现.下面简单演示一下EasyUI布局. 1.1.通过div创建easyUI布局 easyUI的layout可以通过div来创建,使用div来创建easyUI

Extjs关于FormPanel布局

Extjs关于FormPanel布局 FormPanel有两种布局:form和column,form是纵向布局,column为横向布局.默认为后者.使用layout属性定义布局类型.对于一个复杂的布局表单,最重要的是正确分割,分割结果直接决定布局能否顺利实现.如果不再使用默认布局,那么我们必须为每一个元素指定一种布局方式,另外,还必须遵循以下几点:[1]落实到任何一个表单组件后,最后总是form布局[2]defaultType属性不一定起作用,必须显式为每一个表单组件指定xtype或new出新对

ExtJS4学习--多表头Grid

ExtJS4学习--多表头Grid 分类: javascript 2014-06-11 17:59 1676人阅读 评论(2) 收藏 举报 ext 转载来源:http://www.mhzg.net/a/20115/201151911240247.html 做项目的时候,有时候会遇到多表头的Grid,在EXTJS4中,多表头的实现已经很简单了,本文介绍如何实现多表头gird的功能. 做项目的时候,有时候会遇到多表头的Grid,在EXTJS4中,多表头的实现已经很简单了,本文介绍如何实现多表头gir

wxPython控件学习之wx.grid.Grid 表格控件

wxPython控件学习之wx.grid.Grid (包括对GridCellEditor和GridCelRender的扩展,以支持更多的grid cell 样式, 以GridCellColorEditor为例) wx.Grid 及其相关的类是用来显示和编辑类表格样式的数据.该控件为显示,编辑数据源提及交互供了丰富的特征. wx.GridTableBase类控制要显示的实际数据.可以call CreateGrid()产生一个该类的实例对象. wx.GridCellRenderer 基类,负责对单元