代码从书本上抄的,如下:
JS部分:
Ext.onReady(function (){

var cm=new Ext.grid.ColumnModel([
{header:'编号',dataIndex:'id'},
{header:'名称',dataIndex:'name'},
{header:'描述',dataIndex:'descn'}
]
);

var data=[
['1','name1','descn1'],
['2','name2','descn2'],
['3','name3','descn3'],
['4','name4','descn4'],
['5','name5','descn5']
];

var pro=new Ext.data.MemoryProxy(data);

var ds=new Ext.data.Store([
proxy:new Ext.data.MemoryProxy(data),
reader:new Ext.data.ArrayReader({},[
{name,'id'},
{name,'name'},
{name,'descn'}
]
)
]
);

ds.load();

var grid=new Ext.grid.GridPanel({
el:'grid',
ds:ds,
cm:cm
});

grid.render();

});HTML部分:
<div id='grid' ></div>问题:
通过alert发现,如果代码中有var ds=new Ext.data.Store([这一段的时候就有问题,目前的猜测是Ext.data.Store里面的参数不对,求一个正确的格式,proxy和reader。

解决方案 »

  1.   


    var ds=new Ext.data.Store({
            proxy:new Ext.data.MemoryProxy(data),
            reader:new Ext.data.ArrayReader({},[
                {name:'id'},
                {name:'name'},
                {name:'descn'}
            ])}
        )
        ds.load()
        alert(ds.getCount())
    //几个name后面应该使用“;"
    //Store({这里使用{
    //])}这里少了)}
    //另外可以直接用ArrayStore,就不需要proxy了
    var ds=new Ext.data.ArrayStore({
            data:data,
            fields:[
                {name:'id'},
                {name:'name'},
                {name:'descn'}
            ]
        });