ExtJS使用ColumnModel创建表格和使用ArrayReader解析数组

在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代码

arthinking wechat
欢迎关注itzhai公众号