Grid列表组件
来源:互联网 发布:网络监控电视墙报价 编辑:程序博客网 时间:2024/06/15 18:26
Ext JS的Grid列表组件是功能强大且灵活的组件,不仅能方便滴处理后台数据,还能实现分页、编辑、统计等功能。 本章先从Grid的使用流程讲起,然后一步步引入其几大模块:列模式、选择模式、视图、分页等。一一进行分析。 一、认识Ext JS的Grid 展现数据和操作数据是网页中最重要的应用,HTML是通过table来实现的,但table列表数据有很多问题:数据样式的显示、数据分页、表列的排序、单元格的编辑等。 而Extjs的Grid组件解决了这些问题。 1、概述 Grid组件中有许多功能类,每个类都代表一个功能,如选择、拖拽等,这些类最终通过GridPanel类同意起来。 Ext.GridPanel类是所有类的中心,它通过集成Store、pagindToolbar、columnModel、GridView、RowSelectionModel等 来完成数据列表功能,即暗示它可以通过配置项(store,cm,sm,vie)从数据,表列,表行,表视图这4个方面来构建Grid组件。 2、如何创建GridPanel 构建Grid组件一般可以分为如下7个步骤: 01)定义数据源。定义数据源一般都是通过Extjs数据模型来进行的, var render = new Ext.data.ArrayReader({},[ {name:'company'}, {name:'price',type:'float'}, {name:'change',type:'float'}, {name:'pctChange',type:'float'}]); var data = [ ['Altridk Group Inc',87.34,0.23,0.23], ['kevin',23,23,23]]; var ds = new Ext.data.Store({reader:reader,data:data}); 02)定义columnModel。获得数据之后,接下来要做的就是想办法展现它。二维表是目前最好的展现方式之一。 要使用二维表,首先得定义表头,给出表列与数据列的对应关系, var cm = new Ext.grid.ColumnModel([ {id:'company',header:'Company',width:40,dataIndex:'company'}, {header:'Price',width:20,dataIndex:'price'}, {header:'Change',width:20,dataIndex:'change'}, {header:'% Change',width:20,dataIndex:'pctChange'}]); 这里定义了4列,每列都通过dataIndex属性与上面代码中的数据列对应,建立这种对应关系是通过Ext.grid.ColumnModel类来实现的。它用来 定义表列的相关信息,如表头,列排序等。 03)定义SelectionModel。SelectionModel即选择模式,在对列表数据进行操作之前,首先要选中需要操作的数据。当单击列表中某位置时,是 表明选中改行还是该单元格? 这就是选择模式要完成的任务。 var sm = new Ext.grid.RowSelectionModel({singleSelect:true}); 定义选择模式不是必须的,因为Grid组件会根据不同类型的GridPanel类采用不同的默认模式。这里显示调用它,其目的是为了选择模式传入配置项,完成功能上的定制。 04)定义View。视图是列表数据最终显示出来的二维表结构,对于不同类型的类别,其展现结构、样式不尽相同,这得通过视图配置项来进行定制。 var view = new Ext.grid.GridView({forceFit:true}); 视图也不是必须的。 05)定义pagingBar.分页栏用来定义数据分页操作,分页是数据列表中最重要且常用的功能, var pagingBar = new Ext.PagingToolBar({ pageSize: 15, store:store, displayMsg:'共有{2},显示{0}-{1}'}); 06)定义GridPanel。定义了前面5步后,现在就可以把它们组装起来。实现组装的就是GridPanel类,因为是Panel类的子类,可以通过它来配置所有功能, var grid = new Ext.grid.GridPanel({ ds:ds, cm:cm, sm:sm, view:view, bbar:pagingBar, renderTo:'grid' width:600,height:300}); 07)载入数据。生成GridPanel实例之后,很多用户都会忘记最后一步:载入数据。 ds.load({params:{start:0,limit:25}}); 通过Store载入数据,它会自动地更新列表内容,数据载入可以在GridPanel类构建之前进行,也可以在其之后进行。
- Grid列表组件
- ColorPicke 拾色器组件 Grid 组件
- java Grid控件列表
- Ext grid 显示列表
- ExtJs之列表(grid)
- js Grid - 列表插件
- 组件 for.net (Grid.....
- ExtJS 4 Grid组件
- dojo grid 组件
- ExtJS4 Grid组件
- grid组件的详解
- Extjs4 之grid组件
- Extjs4 之grid组件
- Extjs4 之grid组件
- ExtJS5 Grid组件扩展
- ExtJS之Grid组件
- 组件列表
- 列表组件
- EBS R12安装实测
- xorg.conf 配置文件说明
- Hacker News与Reddit的算法比较
- SQL-数据查询
- 皮尔逊Ⅲ(P—Ⅲ)型曲线的模比系数KP值表
- Grid列表组件
- 简单的局域网聊天程序(java版本的)
- Linux下磁盘加密——luks
- 一起学习Shadow mapping
- Spring 获取Bean对象
- xhEditor应用笔记:csdn,博客园应用编辑器
- VS2008环境中移植对话框类
- 【转】【Web缓存机制概述】1 – Web缓存的作用与类型
- 怎么使用Appserv配置多站点访问