ColumnModel都是固定的,如下
var colModel = new Ext.grid.ColumnModel([
{id:'company',header: "Company", width: 160, sortable: true, locked:false, dataIndex: 'company'},
{header: "Price", width: 75, sortable: true, renderer: Ext.util.Format.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'}
]);
如果列不固定而是动态的从数据库中读取,怎么实现呢
没有问题的。
你可以通过控制返回数据集的metaData来控制需要动态生成的列信息。
然后Ext读取metaData动态生成列。
这个比较难,给你个思路,在生成ColumnModel之前,先访问一下服务器,得到列的信息,之后根据返回的信息在拼装ColumnModel。