`
csstome
  • 浏览: 1531141 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

ExtJS 4 Grid组件

阅读更多

我们正在努力为ExtJS4做准备,到目前为止,我们已经发布了3个开发者预览版,我们的目标是争取在4到6周内或争取更快的时间内发布最终版本。 在最近的开发者预览版,我们首次发布了新的Grid组件。新的grid已经重写,而且比3.x版本的有更多功能。新的grid不但大幅提高了性能,而且更 加灵活,因此扩展它和增加新的功能比以往更容易。本文将介绍这些新的特性。

智能渲染

在Extjs 3,Grid工作得相当好,不过它是根据“最小公分母”方法来实现其丰富功能的,它始终根据每个Gird的功能生成所有的标记。在大多数情况下,这显得过 于沉重。在ExtJS 4,默认的Grid只有轻量级的标记,以及在渲染时,只附加由开发者定义的功能所需的标记。这使页面渲染速度和Grid性能都获得了巨大的提升。

标准化布局

随着采用新的智能渲染管线,新Grid的许多部件都被制作成特定的组件并集成到标准的布局管理系统里,而不是依赖定制的内部标记和CSS。这样既维持了完美的单像素UI体验,又把Gird和其余框架的渲染处理统一起来。

DataView

在ExtJS 4,新的GridView扩展自标准的DataView类,这不仅最大限度的减少了重复代码,也使得Gird更容易定制。因为它扩展自DataView,所以新的Grid无论使用任何视图,都能够使用相同的选择模型,包括通过键盘操作的非连续选择。

功能支持

在Extjs 3,很容易为Gird增加新功能,但是没有一个统一标准的方法。许多附加功能都是使用插件方式提供的,而有些是通过继承子类方式提供。这使某些功能结合起来使用相当困难(如果不是不可能)。

在ExtJS 4中,可通过Ext.grid.Feature这个基类灵活的扩展Grid的功能。Grid的底层模版可通过Feature类修改,从而可在Grid视图 生成时修饰和改变标记。Feature类提供了强大的替代旧的GridView的子类,这样可以使它容易混合和匹配兼容功能。在Grid中新功能的例子包 括RowWrap、RowBody和Grouping。

虚拟滚动

ExtJS 4的Grid现在支持在渲染过程中缓冲数据,它将提供一个虚拟的,数据负载均衡的视图。GRid现在可以轻松支持没有分页的数百甚至上千条的数据,比在ExtJS 3中Grid处理大量数据时的性能提高不少。

编辑改进

在Extjs 3中,开发者要在Grid中实现编辑功能,需要使用Editorgrid,这限制了Grid的灵活性。在ExtJS 4中,可通过Editing插件在任何Grid实例中实现该功能,在所有Grid中都可以重复使用该插件。此外,在ExtJS 3中流行的RowEditor扩展,在ExtJs 4已提升为一个一流的和完全支持的框架组件。

一个例子

下面是一个使用ExtJS 4定义的具体分组功能的基本Grid。在一个例子中涵盖所有新的功能显得不太现实,因而本例子只是让你体验一下新的Grid。正如你所看到的,Grid的 定义方式与ExtJS 3非常相似,但分组功能现在定义起来非常简单,不再象ExtJS 3那样,需要通过定义GroupingView实例来实现。这仅仅是ExtJS 4中灵活性的其中一个例子。此外,分组现在可以直接在标准Store中实现,从而不再需要使用GroupingStore。

1 Ext . onReady ( function ( ) {
2 Ext . regModel ( ' Teams ' , {
3 fields : [ ' name ' , ' sport ' ]
4 } ) ;
5
6 var teamStore = new Ext . data . Store ( {
7 model : ' Teams ' ,
8 sorters : [ ' sport ' , ' name ' ] ,
9 groupField : ' sport ' ,
10 data : [
11 { name : ' Aaron ' , sport : ' Table Tennis ' } ,
12 { name : ' Aaron ' , sport : ' Football ' } ,
13 { name : ' Abe ' , sport : ' Basketball ' } ,
14 { name : ' Tommy ' , sport : ' Football ' } ,
15 { name : ' Tommy ' , sport : ' Basketball ' } ,
16 { name : ' Jamie ' , sport : ' Table Tennis ' } ,
17 { name : ' Brian ' , sport : ' Basketball ' } ,
18 { name : ' Brian ' , sport : ' Table Tennis ' }
19 ]
20 } ) ;
21
22 var grid = new Ext . grid . GridPanel ( {
23 renderTo : Ext . getBody ( ) ,
24 store : teamStore ,
25 width : 400 ,
26 height : 300 ,
27 title : ' Sports Teams ' ,
28 items : [ {
29 features : [ {
30 ftype : ' grouping '
31 } ] ,
32 headers : [ {
33 text : ' Name ' ,
34 flex : 1 ,
35 dataIndex : ' name '
36 } , {
37 text : ' Sport ' ,
38 dataIndex : ' sport '
39 } ]
40 } ]
41 } ) ;
42 } ) ;
2
6
分享到:
评论

相关推荐

    Extjs4 grid使用例子

    在给定的"Extjs4 grid使用例子"中,我们可以深入理解如何在MVC架构下有效地利用ExtJS4的Grid组件。Grid组件是ExtJS中的核心部分,它提供了一个灵活的、可定制的数据展示网格,通常用于显示和操作大量数据。 1. **...

    ExtJS 4.2 Grid组件单元格合并的方法

    ExtJS 4.2 Grid组件本身并没有提供单元格合并功能,需要自己实现这个功能。 目录 1. 原理 2. 多列合并 3. 代码与在线演示 1. 原理 1.1 HTML代码分析 首先创建一个Grid组件,然后查看下的HTML源码。 1.1.1 Grid组件 ...

    ExtJS4中文教程2 开发笔记 chm

    ExtJS4 Grid组件 Extjs4 TreeGrid Extjs4 TreePanel实例 ExtJs4 动态加载 Extjs4 带复选框的树(Checkbox tree) Extjs4 新的布局方式 Extjs4 锁定表头(Locking Grid)功能 Extjs4.0 MVC实例 Extjs4.0动态填充...

    ExtJS grid过滤操作

    ExtJS Grid是一个强大的数据展示组件,它允许用户以表格的形式查看和操作大量数据。在实际应用中,数据过滤是常见的需求,以便用户能快速定位到感兴趣的信息。本篇将深入探讨ExtJS Grid的过滤操作,以及如何动态地对...

    extjs4Grid和jqGrid对比.doc

    ### ExtJs 4 Grid 与 jqGrid 对比分析 #### 一、数据展示对比 在数据展示方面,ExtJs 4 Grid 和 jqGrid 都采用了 JSON 格式的数据交互方式,但两者在实现机制上存在一定的差异。 1. **ExtJs 4 Grid**: - **耦合...

    extjs4打印grid插件

    Grid是ExtJS中的核心组件,它提供了一种灵活的方式来展示和操作数据集。在ExtJS4中,有时我们需要实现打印Grid的功能,以便用户能够将屏幕上的数据显示在纸质或PDF文档上。这就是"extjs4打印grid插件"的作用。 打印...

    extjs4 ComboBox 点击下拉框 出现grid效果

    然而,根据你的标题和描述,你似乎遇到了一个特别的需求,即当你点击ComboBox的下拉框时,希望出现一个Grid组件,而不是默认的下拉列表。 ComboBox的默认行为是弹出一个包含选项的列表,而你想要实现的是当用户点击...

    extjs grid数据导出excel文件

    在EXTJS中,Grid控件是用于展示大量结构化数据的关键组件,具有丰富的功能和高度可定制性。本文将深入讲解EXTJS Grid如何实现数据导出到Excel文件的功能。 首先,我们要明白EXTJS Grid的数据导出到Excel的过程通常...

    ExtJS4官方指南翻译:DragandDrop拖放/Grid组件/Tree组件/容器与布局

    在"ExtJS4官方指南翻译:DragandDrop拖放/Grid组件/Tree组件/容器与布局"中,我们将会探讨以下几个核心概念: 1. **Drag and Drop(拖放)**: ExtJS4提供了完善的拖放支持,允许用户通过鼠标操作在界面上移动元素...

    ExtJs6.5Grid列表导出(包含样式)

    在ExtJs 6.5版本中,开发人员经常需要实现数据导出功能,特别是对于Grid组件,这是一项常见的需求。Grid列表通常用于展示大量结构化的数据,而导出功能可以帮助用户将这些数据保存到本地,方便进一步分析或共享。...

    Extjs动态GRID

    EXTJS动态GRID是一种基于JavaScript的前端开发框架EXTJS中的组件,用于展示数据并提供交互功能。EXTDRID(可能是EXTGRID的拼写错误)是指EXTJS中的Grid Panel,它允许开发者构建灵活、可配置的数据视图,适用于大量...

    Extjs4下拉菜单ComboBox中用Grid显示通用控件

    在EXTJS4中,`ComboBox` 是一个非常常用的组件,它提供了一个下拉选择框的功能。在某些场景下,我们可能需要在下拉菜单中展示更丰富的信息,比如表格数据,这时就可以使用 `GridComboBox`。`GridComboBox` 结合了 `...

    ExtJs动态grid的生成

    - 首先,你需要创建一个Ext.grid.Panel实例,这是ExtJS中的Grid组件。通过设置配置项如store(用于存储数据)、columns(定义列)等来定制Grid。 2. **动态生成列** - 你可以使用`columns`属性来动态生成列。例如...

    实现extjs4 的树、grid、form、query等大部分组件的功能

    在EXTJS4中,开发人员可以利用其丰富的组件库来构建功能强大的Web应用程序。这个库提供了多种组件,如树(Tree)、网格(Grid)、表单(Form)和查询(Query)功能,使得用户界面的创建变得更为便捷。下面将详细阐述...

    php+extjs+grid实时显示更新数据

    EXTJS的Grid组件是一种强大的数据展示工具,可以轻松地处理大量数据,并提供灵活的排序、筛选和分页功能。 首先,我们需要理解PHP在其中的角色。PHP是一种广泛使用的服务器端脚本语言,特别适合于处理动态内容和与...

    EXTJS 4 树形表格组件使用示例

    在EXTJS 4中,树形表格组件不仅支持基本的节点操作,如展开、折叠、拖放,还提供了丰富的数据绑定和筛选功能,是处理复杂数据结构的理想选择。 首先,让我们深入了解一下EXTJS 4树形表格组件的特性: 1. **层级...

    EXTJS grid导出EXCEL文件

    在EXTJS中,Grid组件是一个强大的数据展示工具,它允许用户以表格形式查看和操作大量数据。在EXTJS 3.2.0版本中,Grid提供了一个功能,可以将其中的数据导出到Microsoft Excel文件中,方便进一步的数据分析和处理。 ...

    Extjs4 Grid Row 事件

    在EXTJS 4.0 MVC模式下开发时,Grid组件是数据展示的核心部分,它可以用于显示大量结构化数据。在本例中,我们探讨如何在Grid中添加单元格级别的事件处理,尤其是`cellclick`事件。`cellclick`事件允许我们在用户...

    ExtJS 使用grid显示数据

    4. **Grid Panel**:实际的组件,`Ext.grid.Panel`,通过配置store和columnModel来创建Grid,还可以添加工具栏、分页条等附加功能。 5. **渲染器(Renderer)**:自定义单元格内容的显示方式,通过配置column的...

    Extjs3.0 常用组件介绍及怎么安装开发利器Spket

    2. **Grid(网格)**: Grid组件用于展示表格数据,支持排序、分页、选择行等功能,是数据展示的重要组件。 3. **Form(表单)**: ExtJS提供了多种表单组件,如文本框、下拉框、复选框、按钮等,以及表单验证功能,...

Global site tag (gtag.js) - Google Analytics