代码片段:
var grid = new Ext.grid.GridPanel({
store: store,
columns: [
{id : 'company',header: 'Company', width: 160, sortable: true, dataIndex: 'company'},
{header: 'Price', width: 75, sortable: true, renderer: 'usMoney', dataIndex: 'price'},
{header: 'Change', width: 75, sortable: true, renderer: change, dataIndex: 'change'},
{header: '% Change', width: 75, sortable: true, renderer: pctChange, dataIndex: 'pctChange'},
{header: 'Last Updated', width: 85, sortable: true, renderer: Ext.util.Format.dateRenderer('m/d/Y'), dataIndex: 'lastChange'}
],
stripeRows: true,
autoExpandColumn: 'company',
height: 350,
width: 600,
title: 'Array Grid',
// config options for stateful behavior
stateful: true,
stateId: 'grid'
});
Ricki把上面代码中红颜色hightlight的id去掉,刷新页面报:this.config[...].width为空或不是对象的错误。查看Ext API帮助文档,其中Column类中对id的解释中最后一句:
The Ext.grid.GridPanel.autoExpandColumn grid config option references the column via this unique identifier.
而GridPanel对autoExpandColumn的解释如下:
autoExpandColumn : String
The id of a column in this grid that should expand to fill unused space. This value specified here can not be 0.
解决该问题的方法是:1.恢复操作,即把id : 'company'添加回去。
2.把
autoExpandColumn: 'company',
去掉。