0 0

extjs是不是要求远程返回的数据必须是json或xml啊5

今天用sample中的Customer Search Field 结合 GridPanel 做一个查找功能,两者用的数据是同一个GroupingStore,通过proxy 从服务器取数据。服务器返回的是数组形式,但我发现当点下搜索按钮就报错:"F has no property"或"SP has no property",用Firebug 也找不到原因,就想问一下,会不会是因为远程返回的数据必须用json或xml格式呢?
问题补充:


谢谢jayxu的回答,我刚才仔细测试了一下(顺便说一下,今天用IE8的Developer Tools),终于找到了问题,就是:groupField 指定的栏位,在columns -- header 中一定要写dataIndex。我debug到ext-all-debug里发现,如果不写的话,会在findColumnIndex时出错。
问题补充:


漏了说,服务器返回数组也是可以的。因为我这里不需要翻页,所以用Array简单一点。
问题补充:
Ext.onReady(function(){
    Ext.QuickTips.init();
   
    var xg = Ext.grid;
      
    var ds = new Ext.data.GroupingStore({       
        url: 'voice/searchPhone.do',
       
        reader: new Ext.data.ArrayReader({}, [
       {name: 'category'},
       {name: 'phoneno'},
       {name: 'name'}   
    ]),
sortInfo:{field: 'phoneno', direction: "ASC"},   
groupField:'category'
       
    });


    var grid = new xg.GridPanel({
        store: ds,

        columns: [          
            {header: "phoneno", width: 20, dataIndex:"phoneno"},
            {header: "name", width: 20, dataIndex:"name"},
            {header: "category", dataIndex: "category", hidden: true}
        ],

        view: new Ext.grid.GroupingView({
            forceFit:true,
            groupTextTpl: '{text} ({[values.rs.length]} {[values.rs.length > 1 ? "Items" : "Item"]})'
        }),
       
        //frame:true,
        hideHeaders: true,
        width: 400,
        height: 300,
        iconCls: 'icon-grid'
        //renderTo: document.body
    });
   

    //ds.load();
   
   
    /**
     * Dial window
     */
    var win = new Ext.Window({
                id:'hello-win',
                title:'Search phone-no and people',
                layout:'fit',
                width:450,
                height:350,
                closeAction:'hide',
                plain: true,
                items: grid,
               
                tbar: [
            'Search: ', ' ',
            new Ext.app.SearchField({
            id: 'searchField',
                store: ds,
                width:280
            }),
            new Ext.Button({
            text: 'Dial',
            handler: dial
            })
        ]
              
            });
   
   
});
2008年6月05日 23:17

1个答案 按时间排序 按投票排序

0 0

采纳的答案

前台需要什么样格式的数据 后台就返回什么

不过就EXT而言 还不能处理自定义对象的数据



2008年6月06日 10:41

相关推荐

Global site tag (gtag.js) - Google Analytics