1:基本知识
grid由一下几个部分组成:
*数据(data)
数据有几种格式:Array、JSON、XML等
*存储器(store)
Ext中store是个很重要的类,它的主要作用是将数据从data中读出来,供grid使用。对应与数据,JSON、XML等数据格式,Ext。data。Store有几个子类:
ArrayStore、JsonStore、XmlStore等,这些子类是在Ext。data。store基础上封装的类,用于读取对应的数据
Ext.data.Store是ExtJs中用来进行数据交换和数据交互的标准中间件,无论是Grid还是ComboBox,都是通过它实现数据读取,类型转换,排序分页和搜索等操作的,
它提供了一个Ext.data.Record数组,所有数据都存放在这些Ext.data.Record实例中,为后面的读取和操作做准备
*列模型(ColumnModel)
列模型规定了表格显示时列的顺序,包含了列所需的信息
*grid面板(Ext.grid.GridPanel)
gridPanel就是容纳数据并显示出来的容器,可以将其认为相当于HTML中的Table标签
2:程序代码
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>gridPanel</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <link rel="stylesheet" type="text/css" href="ext3.2/resources/css/ext-all.css"></link> <script type="text/javascript" src="ext3.2/adapter/ext/ext-base.js"></script> <script type="text/javascript" src="ext3.2/ext-all.js"></script> <script type="text/javascript" src="ext3.2/src/local/ext-lang-zh_CN.js"></script> <script type="text/javascript"> Ext.onReady(function() { //定义ColumnModel var cum = new Ext.grid.ColumnModel([ {header: '客户ID', dataIndex: 'memid'}, {header: '客户姓名', dataIndex: 'memName'}, {header: '性别', dataIndex: 'sex'}, {header: '跟踪号', dataIndex: 'gcode'}, {header: '日期', dataIndex: 'kdtime'} ]); var cumdata = [ //定义数据 ['1', 'hello', '男', '1', '2010-05-22'], ['2', 'ASP', '女', '2', '2010-06-07'], ['3', 'JSP', '男', '3', '2011-05-05'], ['4', 'Java', '男', '5', '2011-07-05'], ['5', 'ExtJs', '男', '5', '2011-06-01'], ['6', '.Net', '女', '6', '2011-09-03'] ]; var store = new Ext.data.Store({ proxy: new Ext.data.MemoryProxy(cumdata), reader: new Ext.data.ArrayReader({}, [ {name: 'memid'}, {name: 'memName'}, {name: 'sex'}, {name: 'gcode'}, {name: 'kdtime'} ]) }); store.load(); var cumgrid = new Ext.grid.GridPanel({ renderTo: 'cumGrid', store: store, height: 200, width: 500, colModel: cum }); }); </script> </head> <body> <div id="cumGrid"> </div> </body> </html>