学习YUI.Ext 第四天--开始使用Grid

 

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

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

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

单行的XML样本数据

  1. <Item>  
  2.  <ASIN>0446613657</ASIN>  
  3.  <DetailPageURL>http://www.amazon[*SNIP*]JVQEG2</DetailPageURL>   
  4.  <ItemAttributes>  
  5.   <Author>Sidney Sheldon</Author>  
  6.   <Manufacturer>Warner Books</Manufacturer>  
  7.   <ProductGroup>Book</ProductGroup>  
  8.   <Title>Are You Afraid of the Dark?</Title>  
  9.  </ItemAttributes>  
  10. </Item>  


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

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

  1. var  dataStore =  new  Ext.data.Store({   
  2.   
  3.     proxy: new  Ext.data.HttpProxy({url:  'sampledata-sheldon.xml' }),   
  4.   
  5.     reader: new  Ext.data.XmlReader({  
  6.            record: 'Item' ,  
  7.            id: 'ASIN'   
  8.        }, [  
  9.            'Author''Title''Manufacturer''ProductGroup'   
  10.        ])  
  11. });   


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

列模型样本

  1. var  colModel =  new  Ext.grid.ColumnModel([  
  2.  {header: "Author" , width: 120, dataIndex:  'Author' },  
  3.  {header: "Title" , width: 180, dataIndex:  'Title' },  
  4.  {header: "Manufacturer" , width: 115, dataIndex:  'Manufacturer' },  
  5.  {header: "Product Group" , width: 100, dataIndex:  'ProductGroup' }  
  6. ]);  


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

进行渲染!

  1. var  grid =  new  Ext.grid.Grid( 'mygrid' , {  
  2.     ds: dataStore,  
  3.     cm: colModel  
  4. });  
  5. grid.render();   
  6.   
  7. dataStore.load();   

 

译者姓名:Frank
译者博客:http://www.ajaxjs.com/blog/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值