在ExtJS创建表格可以按照以下几个基本步骤完成:
创建一个ColumnModel对象
Ext.grid.ColumnModel类描述了列的属性,具体列属性由列名和列索引组件组成,以下创建一个ColumnModel对象,并设置4个列的属性值:
var cm = new Ext.grid.ColumnModel([
{header:‘曲目编号’, dataIndex:‘music_id’},
{header:‘曲目名称’, dataIndex:‘music_name’},
{header:‘作曲家’, dataIndex:‘composer’},
{header:‘演奏乐器’, dataIndex:‘instrument’}
]);
准备好数据源
这里我们直接使用JavaScript数组来描述表格中的数据:
var data = [
[‘001’, ‘Oasis’, ‘Kotaro Oshio’, ‘吉他’],
[‘002’, ‘Classical Gas’, ‘Tommy.Emmanuel’,‘吉他’],
[‘003’, ‘THIS WAY’, ‘Depapepe’, ‘吉他’]
];
创建store对象
在Store中,可以使用MemoryProxy对象封装上一步使用JavaScript创建的静态数组,并且使用Ext.data.ArrayReader将数组解析成记录集的形式:
var store = new Ext.data.Store({
proxy:new Ext.data.MemoryProxy(data),
reader:new Ext.data.ArrayReader([
{name:‘music_id’},
{name:‘music_name’},
{name:‘composer’},
{name:‘instrument’}
])
});
store.load();
创建GridPanel用于显示表格
var gridPanel = new Ext.grid.GridPanel({
renderTo:‘gridPanel’,
autoHeight:true,
store:store,
cm:cm
});
HTML代码