ExtJS4学习笔记(七)---Grid的使用

ExtJS 4 Grid 组件入门
本文介绍如何使用 ExtJS 4 创建基本的 Grid 组件,并演示如何配置数据模型、数据源及显示属性。通过示例代码展示了 Grid 的简单应用。

Extjs4 Grid创建还是比较容易的,难记、难理解的地方,也就是数据的获取。下面,就创建一个最简单的Grid组件,后面,我们会逐渐丰富这个Grid的功能。

HTML代码:

  1. <!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <htmlxmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>
  5. <title>Grid-MHZG.NET</title>
  6. <linkrel="stylesheet"type="text/css"href="../../resources/css/ext-all.css"/>
  7. <scripttype="text/javascript"src="../../bootstrap.js"></script>
  8. <scripttype="text/javascript"src="../../locale/ext-lang-zh_CN.js"></script>
  9. <scripttype="text/javascript"src="grid.js"></script>
  10. </head>

  11. <body>
  12. <divid="demo"></div>
  13. </body>
  14. </html>

grid.js:

  1. Ext.require([
  2. 'Ext.grid.*',
  3. 'Ext.data.*'
  4. ]);
  5. Ext.onReady(function(){
  6. Ext.define('MyData',{
  7. extend:'Ext.data.Model',
  8. fields:[
  9. //第一个字段需要指定mapping,其他字段,可以省略掉。
  10. {name:'UserName',mapping:'UserName'},
  11. 'Sex',
  12. 'Age',
  13. 'XueHao',
  14. 'BanJi'
  15. ]
  16. });
  17. //创建数据源
  18. varstore=Ext.create('Ext.data.Store',{
  19. model:'MyData',
  20. proxy:{
  21. //异步获取数据,这里的URL可以改为任何动态页面,只要返回JSON数据即可
  22. type:'ajax',
  23. url:'mydata.json',
  24. reader:{
  25. type:'json',
  26. root:'items',
  27. //totalProperty:'total'
  28. }
  29. },
  30. autoLoad:true
  31. });
  32. //创建Grid
  33. vargrid=Ext.create('Ext.grid.Panel',{
  34. store:store,
  35. columns:[
  36. {text:"姓名",width:120,dataIndex:'UserName',sortable:true},
  37. {text:"性别",flex:1,dataIndex:'Sex',sortable:false},
  38. {text:"年龄",width:100,dataIndex:'Age',sortable:true},
  39. {text:"学号",width:100,dataIndex:'XueHao',sortable:true},
  40. {text:"班级",width:100,dataIndex:'BanJi',sortable:true}
  41. ],
  42. height:400,
  43. width:480,
  44. x:20,
  45. y:40,
  46. title:'ExtJS4Grid示例',
  47. renderTo:'demo',
  48. viewConfig:{
  49. stripeRows:true
  50. }
  51. })
  52. })

mydata.json:当然,你也可以使用任意服务端程序返回json数据(asp?.net?java还是php,看你的爱好了)

  1. {
  2. "items":[
  3. {
  4. "UserName":"李彦宏",
  5. "Sex":"男",
  6. "Age":25,
  7. "XueHao":00001,
  8. "BanJi":"一班"
  9. },
  10. {
  11. "UserName":"马云",
  12. "Sex":"男",
  13. "Age":31,
  14. "XueHao":00002,
  15. "BanJi":"二班"
  16. },
  17. {
  18. "UserName":"张朝阳",
  19. "Sex":"男",
  20. "Age":30,
  21. "XueHao":00003,
  22. "BanJi":"一班"
  23. },
  24. {
  25. "UserName":"朱俊",
  26. "Sex":"男",
  27. "Age":28,
  28. "XueHao":00004,
  29. "BanJi":"一班"
  30. },
  31. {
  32. "UserName":"丁磊",
  33. "Sex":"男",
  34. "Age":29,
  35. "XueHao":00005,
  36. "BanJi":"二班"
  37. },
  38. {
  39. "UserName":"李国军",
  40. "Sex":"男",
  41. "Age":30,
  42. "XueHao":00006,
  43. "BanJi":"二班"
  44. },
  45. {
  46. "UserName":"王志宝",
  47. "Sex":"男",
  48. "Age":25,
  49. "XueHao":00007,
  50. "BanJi":"一班"
  51. }
  52. ]
  53. }

Extjs4 Grid组件的数据需要几点注意。

第一,就是数据类型,我们可以指定数据类型,比如:

  1. varstore=Ext.create('Ext.data.ArrayStore',{
  2. fields:[
  3. {name:'company'},
  4. {name:'price',type:'float'},
  5. {name:'change',type:'float'},
  6. {name:'pctChange',type:'float'},
  7. {name:'lastChange',type:'date',dateFormat:'n/jh:ia'}
  8. ],
  9. data:myData
  10. });

数据类型分为以下几种:

1、auto(默认)
2、string
3、int
4、float
5、boolean
6、date

第二:Ext.data.Model,示例中,只指定了一个mapping,那么第一个mapping是必须要指定的,从第二个开始,我们就不需要再去指定mapping了,Extjs很聪明,他会根据数据来判断需要的mapping。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值