概述: 本教程将以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&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部分加入:
分享到:
相关推荐
在IT领域,特别是Web开发中,Ext Grid是一个广泛使用的组件,用于展示和管理大量数据。它提供了丰富的功能,包括排序、筛选、分页等,使得数据的交互和操作变得非常便捷。当我们需要将Ext Grid中的数据导出为Excel...
开发者可以使用`Ext.tree.Column`来定义列,就像在普通的`Ext.grid.Panel`中一样。同时,还需要配置`store`来管理数据,这个store不仅需要支持树型结构,还需要支持表格数据的展示。通常,数据源会包含`children`...
EXT Grid是一款基于JavaScript的强大的数据网格组件,广泛用于Web应用程序中展示、操作和管理大量结构化数据。它提供了丰富的功能,如排序、过滤、分页、编辑等,并且支持自定义列、行以及多种交互模式。在EXT Grid...
在"LearningExtJS 第五章节的翻译"中,我们可以期待找到关于EXT JS Grid的详细讲解和实例应用。 EXT JS的Grid组件提供了丰富的功能,如分页、排序、过滤、编辑等,可以灵活地适应各种业务需求。以下是一些关于EXT ...
- **学习利用模板(Templates)的格式化功能**: 讲解了如何使用EXT的模板系统进行数据格式化。 #### 12. 事件处理 - **非常基础的例子**: 提供了一个简单的事件处理示例。 - **处理函数的作用域**: 讨论了事件处理...
3. **使用插件或自定义代码**:EXT Grid本身并不直接支持Excel导出,但可以通过使用第三方插件如`ext-grid-exporter`或者编写自定义代码实现。如果你选择使用插件,按照插件文档进行配置和调用导出方法。若编写...
### Ext中grid多行数据全部删除 在前端开发过程中,我们经常会遇到需要处理表格数据的情况。其中,ExtJS是一个非常强大的JavaScript框架,它提供了一系列工具和组件来帮助开发者快速构建复杂的用户界面。本文将详细...
通过以上步骤,开发者不仅能够掌握 Ext JS 的基础安装与配置流程,还能学会如何利用 Grid 控件快速搭建数据展示界面,从而迈出 Ext JS 技术栈的第一步。随着实践的深入,相信你将能挖掘出更多 Ext JS 的高级特性和...
在本文中,我们将深入探讨如何使用Ext Grid与Direct Web Remoting (DWR)技术结合,实现一个具有分页功能的列表展示。首先,让我们逐一了解这些关键组件。 1. **Ext Grid**: Ext Grid是Ext JS库中的核心组件,用于...
### Ext Grid 数据导出到Excel知识点详解 #### 一、背景与目的 在现代Web应用开发中,数据展示和管理是十分重要的环节。对于大型的数据表格(Grid),开发者经常需要提供一个导出功能,以便用户可以将当前显示的...
这个压缩包"ext-3.2-beta_6256-157.zip"包含的是ExtJS 3.2版本的一个Beta测试版,版本号6256,可能是在第157次迭代时的构建。ExtJS 3.2是一个较旧但仍然广泛使用的版本,对于学习和理解这个框架的历史以及它如何演变...
// 开始编辑第二列(姓名) } } }] }); grid.plugins = [Ext.create('Ext.grid.plugin.CellEditing', { clicksToEdit: 1 // 单击即可编辑 })]; ``` 删除功能可以通过添加工具栏按钮实现,配合Struts2 Action...
3.1. 真的,我是为了树,才开始学ext的。 3.2. 传统是先做出一棵树来。 3.3. 超越一个根 3.4. 对tree进行统一配置 3.5. 这种装配树节点的形式,真是让人头大。 3.5.1. TreeLoader外传 之 JsonPlugin 3.5.2. ...
开始使用Grid 51 步骤一 定义数据(Data Definition) 51 步骤二 列模型(Column Model) 52 Grid组件的简易分页 53 Grid数据 53 怎么做一个分页的Grid 54 分页栏Toolbar 55 EXT Menu组件 55 创建简易菜单 56 各种Item...
10. **API文档**:深入学习Ext JS的官方文档,特别是关于`Ext.data.Store`、`Ext.grid.Panel`和`Ext.toolbar.Paging`的部分,这将提供更详细的API和示例。 掌握这些知识点,你就能更好地理解和控制Ext Grid的刷新...
在"Ext 根据数据库返回json动态生成grid列表实例"中,我们学习了如何使用ExtJS创建一个动态的Grid,它的列和数据都依赖于服务器返回的JSON数据。这个过程包括了Grid的基本配置、数据存储的设定以及如何处理和解析...
- **第4章:网格面板**:详细讲解Grid Panel的使用方法及其高级功能。 ##### 4.3 第三部分:进阶主题 - **第5章:自定义主题**:教授如何定制Ext JS应用的外观和感觉。 - **第6章:性能优化**:分享提高Ext JS应用...
- **知识点**: 介绍了Ext框架中Grid组件的基本使用方法。 - **内容摘要**: 包括数据绑定、列配置等关键技术点。 #### 32BTutorial: Grid的数据分页 - **知识点**: 讲解了如何在Ext框架的Grid组件中实现数据分页...
在使用Extjs4进行Web应用开发时,Grid控件是常用的数据展示组件之一。对于大数据量的情况,通常需要使用分页来提高用户体验。下面详细介绍如何在Extjs4中实现Grid的分页功能。 **1.1 创建数据存储(Store)** 首先...
这个开源版的"ext-6.0.0"是Ext JS的第六个主要版本,它遵循GPL(GNU General Public License)协议,允许用户自由地使用、修改和分发代码。在6.0.0版本中,Ext JS引入了一系列新特性和改进,旨在提升开发者的效率,...