`
sony-soft
  • 浏览: 1105330 次
文章分类
社区版块
存档分类
最新评论

学习EXT第四天--开始使用Grid

 
阅读更多

概述: 本教程将以XML为数据源,带你进入Grid的世界。

本文涉及的范例代码,可以在这里下载。一个完成好的例子可在这里找到。

步骤一 定义数据(Data Definition)

首先要让Grid知道XML文档定义了每一行是什么数据。正如所见,我们命名了"item"在下面的XML样本中。

XML样本数据文件名:sheldon.xml
<?xmlversion="1.0"encoding="UTF-8"?>
<ItemSearchResponsexmlns="http://webservices.amazon.com/AWSECommerceService/2006-06-28">
<OperationRequest>
<HTTPHeaders>
<HeaderName="UserAgent"
Value
="Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1;AvantBrowser;AvantBrowser;.NETCLR1.0.3705;.NETCLR2.0.50727;.NETCLR1.1.4322;MediaCenterPC4.0;InfoPath.2)"></Header>
</HTTPHeaders>
<RequestId>18CZWZFXKSV8F601AGMF</RequestId>
<Arguments>
<ArgumentName="Service"Value="AWSECommerceService"></Argument>
<ArgumentName="AssociateTag"Value="ws"></Argument>
<ArgumentName="SearchIndex"Value="Books"></Argument>
<ArgumentName="Author"Value="SidneySheldon"></Argument>
<ArgumentName="SubscriptionId"Value="1A7XKHR5BYD0WPJVQEG2"></Argument>
<ArgumentName="Version"Value="2006-06-28"></Argument>
<ArgumentName="Operation"Value="ItemSearch"></Argument>
</Arguments>
<RequestProcessingTime>1.05041599273682</RequestProcessingTime>
</OperationRequest>
<Items>
<Request>
<IsValid>True</IsValid>
<ItemSearchRequest>
<Author>SidneySheldon</Author>
<SearchIndex>Books</SearchIndex>
</ItemSearchRequest>
</Request>
<TotalResults>203</TotalResults>
<TotalPages>21</TotalPages>
<Item>
<ASIN>0446355453</ASIN>
<DetailPageURL>
http://www.amazon.com/gp/redirect.html%3FASIN=0446355453%26tag=ws%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/0446355453%253FSubscriptionId=1A7XKHR5BYD0WPJVQEG2
</DetailPageURL>
<ItemAttributes>
<Author>SidneySheldon</Author>
<Manufacturer>WarnerBooks</Manufacturer>
<ProductGroup>Book</ProductGroup>
<Title>MasteroftheGame</Title>
</ItemAttributes>
</Item>
<Item>
<ASIN>0446613657</ASIN>
<DetailPageURL>
http://www.amazon.com/gp/redirect.html%3FASIN=0446613657%26tag=ws%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/0446613657%253FSubscriptionId=1A7XKHR5BYD0WPJVQEG2
</DetailPageURL>
<ItemAttributes>
<Author>SidneySheldon</Author>
<Manufacturer>WarnerBooks</Manufacturer>
<ProductGroup>Book</ProductGroup>
<Title>AreYouAfraidoftheDark?</Title>
</ItemAttributes>
</Item>
<Item>
<ASIN>0446357421</ASIN>
<DetailPageURL>
http://www.amazon.com/gp/redirect.html%3FASIN=0446357421%26tag=ws%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/0446357421%253FSubscriptionId=1A7XKHR5BYD0WPJVQEG2
</DetailPageURL>
<ItemAttributes>
<Author>SidneySheldon</Author>
<Manufacturer>WarnerBooks</Manufacturer>
<ProductGroup>Book</ProductGroup>
<Title>IfTomorrowComes</Title>
</ItemAttributes>
</Item>
<Item>
<ASIN>0446607207</ASIN>
<DetailPageURL>
http://www.amazon.com/gp/redirect.html%3FASIN=0446607207%26tag=ws%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/0446607207%253FSubscriptionId=1A7XKHR5BYD0WPJVQEG2
</DetailPageURL>
<ItemAttributes>
<Author>SidneySheldon</Author>
<Manufacturer>WarnerVision</Manufacturer>
<ProductGroup>Book</ProductGroup>
<Title>TellMeYourDreams</Title>
</ItemAttributes>
</Item>
<Item>
<ASIN>0446357448</ASIN>
<DetailPageURL>
http://www.amazon.com/gp/redirect.html%3FASIN=0446357448%26tag=ws%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/0446357448%253FSubscriptionId=1A7XKHR5BYD0WPJVQEG2
</DetailPageURL>
<ItemAttributes>
<Author>SidneySheldon</Author>
<Manufacturer>WarnerBooks</Manufacturer>
<ProductGroup>Book</ProductGroup>
<Title>Bloodline</Title>
</ItemAttributes>
</Item>
<Item>
<ASIN>0446532673</ASIN>
<DetailPageURL>
http://www.amazon.com/gp/redirect.html%3FASIN=0446532673%26tag=ws%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/0446532673%253FSubscriptionId=1A7XKHR5BYD0WPJVQEG2
</DetailPageURL>
<ItemAttributes>
<Author>SidneySheldon</Author>
<Manufacturer>WarnerBooks</Manufacturer>
<ProductGroup>Book</ProductGroup>
<Title>TheOtherSideofMe</Title>
</ItemAttributes>
</Item>
<Item>
<ASIN>0446356573</ASIN>
<DetailPageURL>
http://www.amazon.com/gp/redirect.html%3FASIN=0446356573%26tag=ws%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/0446356573%253FSubscriptionId=1A7XKHR5BYD0WPJVQEG2
</DetailPageURL>
<ItemAttributes>
<Author>SidneySheldon</Author>
<Manufacturer>WarnerBooks</Manufacturer>
<ProductGroup>Book</ProductGroup>
<Title>AStrangerintheMirror</Title>
</ItemAttributes>
</Item>
<Item>
<ASIN>0060198346</ASIN>
<DetailPageURL>
http://www.amazon.com/gp/redirect.html%3FASIN=0060198346%26tag=ws%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/0060198346%253FSubscriptionId=1A7XKHR5BYD0WPJVQEG2
</DetailPageURL>
<ItemAttributes>
<Author>SidneySheldon</Author>
<Manufacturer>WilliamMorrow&amp;Company</Manufacturer>
<ProductGroup>Book</ProductGroup>
<Title>TheSkyIsFalling</Title>
</ItemAttributes>
</Item>
<Item>
<ASIN>0446354732</ASIN>
<DetailPageURL>
http://www.amazon.com/gp/redirect.html%3FASIN=0446354732%26tag=ws%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/0446354732%253FSubscriptionId=1A7XKHR5BYD0WPJVQEG2
</DetailPageURL>
<ItemAttributes>
<Author>SidneySheldon</Author>
<Manufacturer>WarnerBooks</Manufacturer>
<ProductGroup>Book</ProductGroup>
<Title>NothingLastsForever</Title>
</ItemAttributes>
</Item>
<Item>
<ASIN>0446341916</ASIN>
<DetailPageURL>
http://www.amazon.com/gp/redirect.html%3FASIN=0446341916%26tag=ws%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/0446341916%253FSubscriptionId=1A7XKHR5BYD0WPJVQEG2
</DetailPageURL>
<ItemAttributes>
<Author>SidneySheldon</Author>
<Manufacturer>WarnerBooks</Manufacturer>
<ProductGroup>Book</ProductGroup>
<Title>TheNakedFace</Title>
</ItemAttributes>
</Item>
</Items>
</ItemSearchResponse>

接着需要定义某一列为“统一标识(Unique Identifier)”,即ID,根据“id"所设置的那个节点来读取值(样本代码第九行)。本例中的样本数据是”ASIN"列。

数据定义的最后部分就是指定你需要显示的字段(Fields),把这些字段放到一个数组之中,并保证这些字段与你的XML数据中元素名称是一致的,而且还要注意先后顺序,这里的顺序不需要和XML文件中顺序一致。

vardataStore=newExt.data.Store({
proxy:
newExt.data.HttpProxy({url:'XML/sheldon.xml'}),
reader:
newExt.data.XmlReader(
{record:
'Item',id:'ASIN'},
[
'Author','Manufacturer','ProductGroup','Title']
)
});

步骤二 列模型(Column Model)

下一步便是定义Column Model 列模型。简单地说,就是通过一些属性的设置,决定每一列怎么控制或怎么显示,这是一个由每列的配置参数组成的数组。注意,出现的顺序应该与刚才定义“字段”的数组一致。较常见的参数通常是header和width,所以你会觉得这两项是必须要设置的,然而宽度(width)其实不总是需要的,因为稍后我们将使用autoWidth/Height来代替。

列模型样本

varcolModel=newExt.grid.ColumnModel([
{header:
"Author",width:120,dataIndex:'Author'},
{header:
"Manufacturer",width:180,dataIndex:'Manufacturer'},
{header:
"ProductGroup",width:115,dataIndex:'ProductGroup'},
{header:
"Title",width:100,dataIndex:'Title'}
]);

最后是将DataStore和Column Model两样东西传入到Grid,渲染结果,然后加载来自DataStore的数据,这些就是你让Grid工作起来的所有因素!

进行渲染!

vargrid=newExt.grid.GridPanel({
el:
'GridXml',
ds:dataStore,
cm:colModel,
height:
350,
width:
600
});

grid.render();
dataStore.load();

在body部分加入:

<divid="GridXml"></div>
分享到:
评论

相关推荐

    Ext Grid 导出Excel

    在IT领域,特别是Web开发中,Ext Grid是一个广泛使用的组件,用于展示和管理大量数据。它提供了丰富的功能,包括排序、筛选、分页等,使得数据的交互和操作变得非常便捷。当我们需要将Ext Grid中的数据导出为Excel...

    Ext用户扩展控件-----树形表格

    开发者可以使用`Ext.tree.Column`来定义列,就像在普通的`Ext.grid.Panel`中一样。同时,还需要配置`store`来管理数据,这个store不仅需要支持树型结构,还需要支持表格数据的展示。通常,数据源会包含`children`...

    EXT grid导出EXCEL

    EXT Grid是一款基于JavaScript的强大的数据网格组件,广泛用于Web应用程序中展示、操作和管理大量结构化数据。它提供了丰富的功能,如排序、过滤、分页、编辑等,并且支持自定义列、行以及多种交互模式。在EXT Grid...

    ext grid 显示数据

    在"LearningExtJS 第五章节的翻译"中,我们可以期待找到关于EXT JS Grid的详细讲解和实例应用。 EXT JS的Grid组件提供了丰富的功能,如分页、排序、过滤、编辑等,可以灵活地适应各种业务需求。以下是一些关于EXT ...

    ext学习文档

    - **学习利用模板(Templates)的格式化功能**: 讲解了如何使用EXT的模板系统进行数据格式化。 #### 12. 事件处理 - **非常基础的例子**: 提供了一个简单的事件处理示例。 - **处理函数的作用域**: 讨论了事件处理...

    ext grid 导出excel 代码实例

    3. **使用插件或自定义代码**:EXT Grid本身并不直接支持Excel导出,但可以通过使用第三方插件如`ext-grid-exporter`或者编写自定义代码实现。如果你选择使用插件,按照插件文档进行配置和调用导出方法。若编写...

    Ext中grid多行数据全部删除

    ### Ext中grid多行数据全部删除 在前端开发过程中,我们经常会遇到需要处理表格数据的情况。其中,ExtJS是一个非常强大的JavaScript框架,它提供了一系列工具和组件来帮助开发者快速构建复杂的用户界面。本文将详细...

    ext js学习文档

    通过以上步骤,开发者不仅能够掌握 Ext JS 的基础安装与配置流程,还能学会如何利用 Grid 控件快速搭建数据展示界面,从而迈出 Ext JS 技术栈的第一步。随着实践的深入,相信你将能挖掘出更多 Ext JS 的高级特性和...

    Ext Grid +dwr 列表展示展示带分页

    在本文中,我们将深入探讨如何使用Ext Grid与Direct Web Remoting (DWR)技术结合,实现一个具有分页功能的列表展示。首先,让我们逐一了解这些关键组件。 1. **Ext Grid**: Ext Grid是Ext JS库中的核心组件,用于...

    Ext Grid数据导出到Excel

    ### Ext Grid 数据导出到Excel知识点详解 #### 一、背景与目的 在现代Web应用开发中,数据展示和管理是十分重要的环节。对于大型的数据表格(Grid),开发者经常需要提供一个导出功能,以便用户可以将当前显示的...

    ext-3.2-beta_6256-157.zip

    这个压缩包"ext-3.2-beta_6256-157.zip"包含的是ExtJS 3.2版本的一个Beta测试版,版本号6256,可能是在第157次迭代时的构建。ExtJS 3.2是一个较旧但仍然广泛使用的版本,对于学习和理解这个框架的历史以及它如何演变...

    Extjs4---grid的修改、删除功能---结合struts2、hibernate

    // 开始编辑第二列(姓名) } } }] }); grid.plugins = [Ext.create('Ext.grid.plugin.CellEditing', { clicksToEdit: 1 // 单击即可编辑 })]; ``` 删除功能可以通过添加工具栏按钮实现,配合Struts2 Action...

    Ext 开发指南 学习资料

    3.1. 真的,我是为了树,才开始学ext的。 3.2. 传统是先做出一棵树来。 3.3. 超越一个根 3.4. 对tree进行统一配置 3.5. 这种装配树节点的形式,真是让人头大。 3.5.1. TreeLoader外传 之 JsonPlugin 3.5.2. ...

    Ext 学习中文手册

    开始使用Grid 51 步骤一 定义数据(Data Definition) 51 步骤二 列模型(Column Model) 52 Grid组件的简易分页 53 Grid数据 53 怎么做一个分页的Grid 54 分页栏Toolbar 55 EXT Menu组件 55 创建简易菜单 56 各种Item...

    ext gride刷新

    10. **API文档**:深入学习Ext JS的官方文档,特别是关于`Ext.data.Store`、`Ext.grid.Panel`和`Ext.toolbar.Paging`的部分,这将提供更详细的API和示例。 掌握这些知识点,你就能更好地理解和控制Ext Grid的刷新...

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

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

    Ext JS 3.2 学习指南

    - **第4章:网格面板**:详细讲解Grid Panel的使用方法及其高级功能。 ##### 4.3 第三部分:进阶主题 - **第5章:自定义主题**:教授如何定制Ext JS应用的外观和感觉。 - **第6章:性能优化**:分享提高Ext JS应用...

    Ext官方中文教程列表

    - **知识点**: 介绍了Ext框架中Grid组件的基本使用方法。 - **内容摘要**: 包括数据绑定、列配置等关键技术点。 #### 32BTutorial: Grid的数据分页 - **知识点**: 讲解了如何在Ext框架的Grid组件中实现数据分页...

    Extjs4 Grid分页与自动刷新

    在使用Extjs4进行Web应用开发时,Grid控件是常用的数据展示组件之一。对于大数据量的情况,通常需要使用分页来提高用户体验。下面详细介绍如何在Extjs4中实现Grid的分页功能。 **1.1 创建数据存储(Store)** 首先...

    ext-6.0.0开源版

    这个开源版的"ext-6.0.0"是Ext JS的第六个主要版本,它遵循GPL(GNU General Public License)协议,允许用户自由地使用、修改和分发代码。在6.0.0版本中,Ext JS引入了一系列新特性和改进,旨在提升开发者的效率,...

Global site tag (gtag.js) - Google Analytics