基本思路:
基于ExtJS4.1版本开发,主要是首先创建一个Data Model组件,mockup一些JSON数据
然后将data Model与JSON数据绑定到创建的data store中,最后创建grid组件同时绑定
之前的data store完成整个程序。
一个简单ExtJS组件结构图:
程序运行结果如下:
JavaScript部分的源代码如下:
Ext.require([
'Ext.grid.*',
'Ext.data.*',
'Ext.util.*',
'Ext.state.*'
]);
Ext.onReady(function() {
// mock up data
// sample static data for the store
var myData = [
['gloomyfish', 31, 'M', 'software', '09 July 1980'],
['Mike', 31, 'M', 'software', '09 July 1984'],
['Green Mook', 31, 'M', 'software', '09 July 1980'],
['Rose Kate', 25, 'F', 'software', '09 July 1987'],
['Dave Wu', 28, 'M', 'software', '24 July 1984'],
['Hong Naa', 31, 'M', 'software', '09 July 1980']
];
// create data model
Ext.define('EmplyeeInfo', {
extend: 'Ext.data.Model',
fields: [
{name: 'employee', type: 'string'},
{name: 'age', type: 'int'},
{name: 'gentle', type: 'string'},
{name: 'department', type: 'string'},
{name: 'birthday', type: 'date', dateFormat: 'd F Y'}
],
});
// create the data store
var store = Ext.create('Ext.data.ArrayStore', {
model: 'EmplyeeInfo',
data: myData
});
// create the Grid
var grid = Ext.create('Ext.grid.Panel', {
store: store,
columns: [
{
text : 'Employee Name',
flex : 1,
sortable : false,
dataIndex: 'employee'
},
{
text : 'Age',
width : 75,
sortable : true,
dataIndex: 'age'
},
{
text : 'Gentle',
width : 75,
sortable : true,
dataIndex: 'gentle'
},
{
text : 'Department',
width : 75,
sortable : true,
dataIndex: 'department'
},
{
text : 'Birthday Date',
width : 85,
sortable : true,
renderer : Ext.util.Format.dateRenderer('m/d/Y'),
dataIndex: 'birthday'
}
],
height: 350,
width: 600,
title: 'Employee Information Table',
renderTo: 'grid-example',
viewConfig: {
stripeRows: true
}
});
});
HTML部分的源代码如下:
<html>
<head>
<title>Hello Ext</title>
<link rel="stylesheet" type="text/css" href="extjs/resources/css/ext-all.css">
<script type="text/javascript" src="extjs/ext-all.js"></script>
<!-- <script type="text/javascript" src="app.js"></script> -->
<script type="text/javascript" src="app/grid-demo.js"></script>
<style type="text/css">
body {
margin-top: 30px;
margin-right: 30px;
margin-bottom: 30px;
margin-left: 30px;
}
</style>
</head>
<body>
<h1>My Fist Grid Table - ExtJS 4.1</h1>
<p>This example shows how to create a grid from Array data.</p><br>
<div id="grid-example"></div>
</body>
</html>
在google chrome上测试通过。运行本程序前请下载ExtJS 4.1开发包。