在网上找了很多方法,仿照写了全部都没用,Grid照样显示不了数据难道是因为我使用 EXT3.0的问题?在后台能显示出返回的JSONObject,但是调试的时候store2的长度则为0,为什么?还有IE脚本错误,提示“对象不支持此属性或方法”
js 代码:
 var GameRecord = Ext.data.Record.create([
        {name: 'userCode', mapping: 'userCode'},
        {name: 'userName', mapping: 'userCode'},
        {name: 'loginDate', mapping: 'loginDate'},
        {name: 'loginIp', mapping: 'loginIp'}
    ]);
    
    var store2 = new Ext.data.JsonStore({
        proxy:new Ext.data.HttpProxy({
            url: 'right/User!searchUser2.action',
            method:'POST'     
        }),
        reader:new Ext.data.JsonReader({         
            totalProperty : 'total1',
            root:'userList'
        },GameRecord),
        remoteSort: true
        
        //reader:jsonReader2
    });
        
    store2.load();           var editor = new Ext.ux.grid.RowEditor({
        saveText: 'Update'
    });    var grid = new Ext.grid.GridPanel({
        store: store2,
        width: 600,
        region:'center',
        margins: '0 5 5 5',
        autoExpandColumn: 'userCode',
        plugins: [editor],
        view: new Ext.grid.GroupingView({
            Dirty: false
        }),
        tbar: [{
            iconCls: 'icon-user-add',
            text: 'Add Employee',
            handler: function(){
                var e = new Employee({
                    name: 'New Guy',
                    email: '[email protected]',
                    start: (new Date()).clearTime(),
                    salary: 50000,
                    active: true
                });
                editor.stopEditing();
                store.insert(0, e);
                grid.getView().refresh();
                grid.getSelectionModel().selectRow(0);
                editor.startEditing(0);
            }
        },{
            ref: '../removeBtn',
            iconCls: 'icon-user-delete',
            text: 'Remove Employee',
            disabled: true,
            handler: function(){
                editor.stopEditing();
                var s = grid.getSelectionModel().getSelections();
                for(var i = 0, r; r = s[i]; i++){
                    store.remove(r);
                }
            }
        }],        columns: [
        new Ext.grid.RowNumberer(),
        {
            id: 'userCode',
            header: 'userCode',
            dataIndex: 'userCode',
            width: 220,
            sortable: true,
            editor: {
                xtype: 'textfield',
                allowBlank: false
            }
        },{
            header: 'userName',
            dataIndex: 'userName',
            width: 150,
            sortable: true,
            editor: {
                xtype: 'textfield',
                allowBlank: false
            }
        },{
            xtype: 'datecolumn',
            header: 'Start Date',
            dataIndex: 'loginDate',
            format: 'm/d/Y',
            width: 100,
            sortable: true,
            //groupRenderer: Ext.util.Format.dateRenderer('M y'),
            editor: {
                xtype: 'datefield',
                allowBlank: false
            }
        },{
            header: 'loginIp',
            dataIndex: 'loginIp',
            width: 100,
            sortable: true,
            editor: {
                xtype: 'textfield',
                allowBlank: false
            }
        }]
    });
Action 代码:
    public void searchUser2(){
     DetachedCriteria dcq = DetachedCriteria.forClass(ScmUser.class,"alias");
     dcq.add(Expression.ne("userType", "super"));
dcq.add(Expression.ne("userType", "supplier"));
userList = rightService.findByDetachedCriteria(dcq);

int totalNum = userList.size();
    
     JSONArray jArray = new JSONArray();
     try{
         for(ScmUser user : userList){
          JSONObject jObject = new JSONObject();
         jObject.put("userCode", user.getUserCode());
         jObject.put("userName", user.getUserName());
         jObject.put("loginIp", user.getLoginIp());
         jObject.put("loginDate", user.getLoginDate());
         jArray.put(jObject);
         }
     }catch (Exception e){
     e.printStackTrace();
     }
    
     try{
         JSONObject json = new JSONObject();
         json.put("total1", totalNum);
         json.put("userList", jArray);         response.setContentType("text/html");
         response.setCharacterEncoding("utf-8");
         response.setHeader("Cache-Control", "no-cache"); 
         response.getWriter().print(json.toString()); 
         response.getWriter().flush();
         response.getWriter().close();
         logger.info(json);
     }catch(Exception e){
     e.printStackTrace();
     }
    
     //super.ajaxResult(jArray.toString());
    }
在后代能显示返回的JSONObject:{"total1":11,"userList":[{"loginIp":"127.0.0.1","userCode":"LS0823","userName":"小陈1","loginDate":"2010-12-15 14:02:46.53"},{"loginIp":"127.0.0.1","userCode":"LS0002","userName":"小屯","loginDate":"2010-12-15 17:06:08.42"},{"loginIp":"127.0.0.1","userCode":"LS0101","userName":"小牧","loginDate":"2010-12-23 09:01:46.03"},{"loginIp":"127.0.0.1","userCode":"测试01","userName":"234","loginDate":"2010-12-22 10:26:07.877"},{"loginIp":"127.0.0.1","userCode":"测试03","userName":"234324","loginDate":"2010-12-15 17:12:17.233"},{"userCode":"6366","userName":"3"},{"loginIp":"127.0.0.1","userCode":"Kingston","userName":"金士顿","loginDate":"2010-12-20 14:30:27.093"},{"userCode":"KingMax","userName":"胜创"},{"loginIp":"127.0.0.1","userCode":"ADATA","userName":"威刚","loginDate":"2010-12-20 16:58:06.78"},{"userCode":"StarRam","userName":"星存"},{"userCode":"测试04","userName":"小李"}]}