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>
3:程序效果图