使用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版)》
李刚 编著
电子工业出版社出版
相关推荐
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-JS的Grid组件与JSON数据源进行集成,以创建一个动态的数据表格。 EXT-JS的Grid组件允许开发者通过定义列模型、存储器和视图来展示数据。在JSON方面,它是一种...
Grid提供了一种高效、可定制的表格视图,允许用户进行数据浏览、排序、筛选、分页以及编辑。EXT Designer是Sencha公司提供的一个可视化设计工具,它可以帮助开发者更加直观地构建EXT-JS应用程序,包括Grid组件。 ...
通过`Ext.grid.Panel`的`plugins`属性启用分页插件`Ext.grid.plugin.PagingToolbar`,并与`store`的`proxy`配置相结合,可以实现按需从服务器请求数据。`proxy`中的`type`设置为`ajax`或`rest`,并配置`api`属性来...
在"Ext 根据数据库返回json动态生成grid列表实例"中,我们学习了如何使用ExtJS创建一个动态的Grid,它的列和数据都依赖于服务器返回的JSON数据。这个过程包括了Grid的基本配置、数据存储的设定以及如何处理和解析...
表格数据展示是ExtJS中的另一大亮点,`Ext.grid.Panel`是其核心组件,用于呈现大量结构化数据。在ExtJS4.2中,我们可以通过以下步骤实现表格数据的动态展示: 1. 创建`Ext.data.Store`实例,定义数据模型和数据源,...
例如,你可以使用`Ext.create('Ext.grid.Panel', { ... })`来创建Grid,并设置`columns`,`store`等属性。 2. **数据准备**:确保你的数据源(通常是EXT的Store)已经填充了需要导出的数据。数据应以JSON或其他适合...
EXT JS中的表格分页通常通过Grid Panel组件实现,该组件可以与数据存储(Store)配合,数据存储负责管理数据,包括加载、过滤、排序和分页。分页功能由Pager Toolbar组件提供,它是一个可自定义的工具栏,包含导航...
`Ext.grid.EditorGridPanel` 是一个扩展了 `Ext.grid.GridPanel` 的组件,允许直接在表格中编辑数据。它结合了表格视图和表单编辑功能,使得数据编辑变得更加直观。 #### 九、Ext.tree.TreePanel -- 树的使用 **...
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} ...
- **表格(Grid)**:用于展示大量数据,支持排序、分页等功能,是构建数据密集型应用的重要工具。 - **表单(Form)**:包括各种输入控件,如文本框、复选框等,方便实现表单数据的收集和验证。 - **窗口(Window)...
var grid = Ext.create('Ext.grid.Panel', { store: myStore, plugins: ['ux.addremovecolumn'], // 其他配置... }); ``` 接下来,你需要提供一种方式让用户触发添加或删除列的操作。这可以通过按钮、菜单项或者...
首先,GridPanel是用于显示表格数据的组件,它可以与Ext.data.Store配合使用,Store负责加载和管理数据。GridPanel提供了丰富的功能,如排序、分页、筛选、编辑等。用户可以通过单击列头进行排序,通过工具栏实现...
2. **使用CheckboxSelectionModel**:这是另一种实现复选框选择的方式,通过实例化`Ext.grid.CheckboxSelectionModel`并将其添加到表格配置的`sm`属性中。这种模式支持多选,并且可以轻松地获取所有被选中的行记录。...
1. **行号列**: 使用`Ext.grid.RowNumberer`,它可以自动为每一行生成序号。 2. **布尔值列**: 对于`boolean`类型的字段,可以自定义渲染函数将其转换为“是/否”或“开/关”的图标。 3. **日期列**: 可以通过设置`...
var grid = Ext.create('Ext.grid.Panel', { ... columns: [{ header: 'Name', dataIndex: 'name', tipText: function(value, record) { // 提示信息的回调函数 return record.get('description'); // 从记录...
在Ext JS中,`GridView`是`Ext.grid.Panel`的一个组成部分,负责渲染表格的行和列。而`GridViewMenuPlugin`则扩展了`GridView`的功能,将菜单与表格视图紧密结合,使得在表格上下文菜单中可以触发特定的操作或显示...
extend: 'Ext.grid.Panel', ... }); ``` #### EXT的布局(Layout) 布局是ExtJS中用于管理UI组件排列的关键特性。ExtJS提供了多种布局策略,如`fit`、`vbox`、`hbox`等,可以根据需要选择合适的布局策略。 #### ...
例如,将数据存储绑定到`Ext.grid.Panel`,数据就会自动显示在表格中。 6. **事件监听**:EXT提供了丰富的事件系统,可以监听数据加载、更新等事件,实现数据操作的回调功能。 7. **交互操作**:用户在EXT界面进行...
`Ext.grid.Panel`是用于展示表格数据的主要组件,它可以与后台数据库进行交互。在这个场景中,我们可能会使用`Ext.data.Store`来存储和管理数据,该Store会连接到一个数据源,例如通过Ajax请求获取JSON格式的数据。 ...