`

使用Ext.grid.Panel生成表格

 
阅读更多

使用Ext.grid.Panel生成表格

Ext.grid.Panel继承了Ext.panel.Panel,因此它的很多地方都类似于Ext.panel.Panel,但定义Ext.grid.Panel时必须指定如下两个选项。

  • Ø store:该选项指定的Store对象负责为该表格提供数据。
  • Ø columns:指定Ext.grid.column.Column数组或一个包含items属性(该属性值为Ext.grid.column.Column数组)的对象,该Ext.grid.column.Column数组指定Ext.grid.Panel生成的表格包含的所有列。

如下代码示范了如何使用Ext.grid.Panel来生成表格。

程序清单:codes\06\6.8\Ext.grid\Ext.grid.Panel.html

<body>

<script type="text/javascript">

Ext.onReady(function(){

    Ext.define('Book', {

         extend: 'Ext.data.Model',

         fields: [

               {name: 'name', type: 'string'},

               {name: 'author', type: 'string'},

               {name: 'price', type: 'float'},

               {name: 'publishDate', type: 'date'}

         ]

    });

    // 创建一个Ext.data.Store对象

    var bookStore = Ext.create('Ext.data.Store',

    {

         // 指定使用Book Model管理记录

         model: 'Book',

         // 直接使用data指定数据

         data : [

               {"id": 1, name: "疯狂Java讲义",

                    author:'李刚' , price: 109, publishDate:'2012-01-01'},

               {"id": 2, name:"轻量级Java EE企业应用实战",

                    author:'李刚' , price: 99, publishDate:'2011-09-02'},

               {"id": 3, name: "疯狂Ajax讲义",

                    author:'李刚' , price: 69, publishDate:'2012-09-08'},

         ]

    });

    Ext.create('Ext.grid.Panel', {

         title: '查看图书',

         width: 550, // 指定表单宽度

         renderTo: Ext.getBody(),

         // 定义该表格包含的所有数据列

         columns: [

               { text: '书名', dataIndex: 'name' , flex: 1 }, // 第1个数据列

               { text: '作者', dataIndex: 'author', flex: 1 }, // 第2个数据列

               { text: '价格', dataIndex: 'price' , flex: 1 }, // 第3个数据列

               // 第4个数据列

               { text: '出版时间', dataIndex: 'publishDate',

                    xtype:'datecolumn' , format:'Y年m月d日' , flex: 1},

         ],

         store: bookStore

    });

});

</script>

</body>

 

上面的示例创建了一个Ext.grid.Panel,这个Panel对象将会在页面上生成一个表格。定义该Ext.grid.Panel对象时指定了columns、store两个选项,其中columns选项指定该表格包含的数据列,以及各列所显示的数据;store选项指定一个Store对象,该Store负责提供该表格显示的数据。

在浏览器中浏览该页面,可以看到如图6.71所示效果。

 

图6.71 使用Ext.grid.Panel生成表格

从图6.71可以看出,使用Ext.grid.Panel生成的表格比普通HTML表格更美观,而且该表格默认可以对各列进行排序,并且可以自由控制各列的显示、隐藏。除此之外,Ext.grid.Panel生成表格的列默认允许通过拖动改变列宽、通过拖动改变列与列之间的排列顺序。

 

本文节选自

《疯狂Ajax讲义(第3版)》

李刚 编著

电子工业出版社出版

0
2
分享到:
评论

相关推荐

    Ext Js权威指南(.zip.001

    10.1.2 表格面板的运行流程:ext.panel.table / 500 10.1.3 表格视图的运行流程:ext.view.table与ext.view.tablechunker / 505 10.1.4 列标题容器的运行流程:ext.grid.header.container / 508 10.1.5 列标题的...

    ext-grid+json简单应用

    在"EXT-GRID+JSON简单应用"中,我们将探讨如何使用EXT-JS的Grid组件与JSON数据源进行集成,以创建一个动态的数据表格。 EXT-JS的Grid组件允许开发者通过定义列模型、存储器和视图来展示数据。在JSON方面,它是一种...

    EXT-JS Grid 用法

    Grid提供了一种高效、可定制的表格视图,允许用户进行数据浏览、排序、筛选、分页以及编辑。EXT Designer是Sencha公司提供的一个可视化设计工具,它可以帮助开发者更加直观地构建EXT-JS应用程序,包括Grid组件。 ...

    ext grid网格控件实例

    通过`Ext.grid.Panel`的`plugins`属性启用分页插件`Ext.grid.plugin.PagingToolbar`,并与`store`的`proxy`配置相结合,可以实现按需从服务器请求数据。`proxy`中的`type`设置为`ajax`或`rest`,并配置`api`属性来...

    Ext 根据数据库返回json动态生成grid列表实例

    在"Ext 根据数据库返回json动态生成grid列表实例"中,我们学习了如何使用ExtJS创建一个动态的Grid,它的列和数据都依赖于服务器返回的JSON数据。这个过程包括了Grid的基本配置、数据存储的设定以及如何处理和解析...

    ExtJS4 2学习 21 动态菜单与表格数据展示操作总结篇

    表格数据展示是ExtJS中的另一大亮点,`Ext.grid.Panel`是其核心组件,用于呈现大量结构化数据。在ExtJS4.2中,我们可以通过以下步骤实现表格数据的动态展示: 1. 创建`Ext.data.Store`实例,定义数据模型和数据源,...

    ext grid 导出excel 代码实例

    例如,你可以使用`Ext.create('Ext.grid.Panel', { ... })`来创建Grid,并设置`columns`,`store`等属性。 2. **数据准备**:确保你的数据源(通常是EXT的Store)已经填充了需要导出的数据。数据应以JSON或其他适合...

    ext4 表格分页实例代码

    EXT JS中的表格分页通常通过Grid Panel组件实现,该组件可以与数据存储(Store)配合,数据存储负责管理数据,包括加载、过滤、排序和分页。分页功能由Pager Toolbar组件提供,它是一个可自定义的工具栏,包含导航...

    老师整理的extjs学习笔记

    `Ext.grid.EditorGridPanel` 是一个扩展了 `Ext.grid.GridPanel` 的组件,允许直接在表格中编辑数据。它结合了表格视图和表单编辑功能,使得数据编辑变得更加直观。 #### 九、Ext.tree.TreePanel -- 树的使用 **...

    ExtJs表格grid中文排序函数方法

    var grid = Ext.create('Ext.grid.Panel',{ store:store, columns:[ {header:'编号',dataIndex:'id',width:100 }, {header:'名称',dataIndex:'name',width:100}, {header:'描述',dataIndex:'descn',width:100} ...

    [深入浅出Ext.JS.徐会生&何启伟&康爱媛)附录.pdf

    - **表格(Grid)**:用于展示大量数据,支持排序、分页等功能,是构建数据密集型应用的重要工具。 - **表单(Form)**:包括各种输入控件,如文本框、复选框等,方便实现表单数据的收集和验证。 - **窗口(Window)...

    Ext扩展控件-----可以在代码中动态为表格增加一列或者删除一列

    var grid = Ext.create('Ext.grid.Panel', { store: myStore, plugins: ['ux.addremovecolumn'], // 其他配置... }); ``` 接下来,你需要提供一种方式让用户触发添加或删除列的操作。这可以通过按钮、菜单项或者...

    ExtJs GridPanel 操作

    首先,GridPanel是用于显示表格数据的组件,它可以与Ext.data.Store配合使用,Store负责加载和管理数据。GridPanel提供了丰富的功能,如排序、分页、筛选、编辑等。用户可以通过单击列头进行排序,通过工具栏实现...

    EXT学习心得,ext

    2. **使用CheckboxSelectionModel**:这是另一种实现复选框选择的方式,通过实例化`Ext.grid.CheckboxSelectionModel`并将其添加到表格配置的`sm`属性中。这种模式支持多选,并且可以轻松地获取所有被选中的行记录。...

    Extjs4 GridPanel 的几种样式使用介绍

    1. **行号列**: 使用`Ext.grid.RowNumberer`,它可以自动为每一行生成序号。 2. **布尔值列**: 对于`boolean`类型的字段,可以自定义渲染函数将其转换为“是/否”或“开/关”的图标。 3. **日期列**: 可以通过设置`...

    Ext的用户扩展控件-----可以在表格的单元格上弹出提示层信息

    var grid = Ext.create('Ext.grid.Panel', { ... columns: [{ header: 'Name', dataIndex: 'name', tipText: function(value, record) { // 提示信息的回调函数 return record.get('description'); // 从记录...

    ext-ux-grid-gridviewmenuplugin

    在Ext JS中,`GridView`是`Ext.grid.Panel`的一个组成部分,负责渲染表格的行和列。而`GridViewMenuPlugin`则扩展了`GridView`的功能,将菜单与表格视图紧密结合,使得在表格上下文菜单中可以触发特定的操作或显示...

    ext-word文档

    extend: 'Ext.grid.Panel', ... }); ``` #### EXT的布局(Layout) 布局是ExtJS中用于管理UI组件排列的关键特性。ExtJS提供了多种布局策略,如`fit`、`vbox`、`hbox`等,可以根据需要选择合适的布局策略。 #### ...

    EXT实例+JSON

    例如,将数据存储绑定到`Ext.grid.Panel`,数据就会自动显示在表格中。 6. **事件监听**:EXT提供了丰富的事件系统,可以监听数据加载、更新等事件,实现数据操作的回调功能。 7. **交互操作**:用户在EXT界面进行...

    extjs 增删改查

    `Ext.grid.Panel`是用于展示表格数据的主要组件,它可以与后台数据库进行交互。在这个场景中,我们可能会使用`Ext.data.Store`来存储和管理数据,该Store会连接到一个数据源,例如通过Ajax请求获取JSON格式的数据。 ...

Global site tag (gtag.js) - Google Analytics