是否可以从服务器获取每个数据?
例如,我想通过发送Ajax/Proxy
字符串来通过json
从服务器获取列项目?
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',
stateful: true,
stateId: 'grid'
});
答案 0 :(得分:0)
是的,你可以。
您可以在服务器生成的示例中获取整个代码并在客户端上进行eval'd,或者您可以获得作为JSON对象返回的列数组,由客户端解析,然后使用创建对象作为创建网格的代码中的“columns”配置选项。
由于解释了JavaScript并且您可以从服务器下载文本,因此您可以执行任何此类技巧。
答案 1 :(得分:0)
通过“metaData”属性发送数据。因此,Store将触发“metachange”事件,您可以使用以下方法在网格上执行重新配置:
grid.reconfigure(store, new Ext.grid.ColumnModel(metaData.columns));