解决方案 »

  1.   


    现在问题是加上这段代码 success:").append(true).append(",");
    sb.append("resultCount:'").append(resultList.size()).append("',");就报错。我debugger进去运行到  store.loadData(eval(resultData)); 这里加载数据就出错了。
      

  2.   

    看下是不是.resultData 的数据格式等问题 . 验证看看,
      

  3.   


    用验证可以通过的字符串还是不行。不过现在不报错了,而是不显示数据。如下:
    constructor: function(cfg) {
            var me = this;
            cfg = cfg || {};
            me.callParent([Ext.apply({
                storeId: 'Store1',
                data: [
    {success:true,
     resultCount:40,
     results:[
                       {
                           field1: 'Thu Jul 07 13:31:19 CST 2011',
                           field2: 'SELECT T.SERV_PROV_CODE,T.STRING_KEY,T.STRING_VALUE,T.COUNTRY_CODE,T.LANG_CODE,L.TEXT_LEVEL_TYP,L.TEXT_LEVEL_NAME FROM GUI_TEXT_LEVEL L,XUI_TEXT T,GUI_TEXT G WHERE T.SERV_PROV_CODE = L.SERV_PROV_CODE AND T.TEXT_LEVEL_ID = L.TEXT_LEVEL_ID  AND G.STRING_KEY = T.STRING_KEY AND G.LANG_CODE = T.LANG_CODE AND G.COUNTRY_CODE = T.COUNTRY_CODE',
                           field3: '',
                           field4: '2.125',
                           field5: '0'
                       }
     ]
     }
                   ],
                   pageSize:40,
           autoLoad: {
            start: 0,
            limit: 40
            },
                proxy: {
                    type: 'ajax',
                    reader: {
                        type: 'json',
                        root: 'results',
                    totalProperty: 'resultCount'
                    }
                },
                fields: [
                    {
                        name: 'field1'
                    },
                    {
                        name: 'field2'
                    },
                    {
                        name: 'field2'
                    },
                    {
                        name: 'field4'
                    },
                    {
                        name: 'field5'
                    }
                ]
            }, cfg)]);
        }
    再帮忙看看是不是还有什么问题?
      

  4.   

    loadData 看你的数据是否返回到js ,再对对你的列名称看看.
      

  5.   


    我用extjs5.0做了一个分页,结果失败。代码如下:
    store.js
    Ext.define('AADashboard.store.RiskySQLStore', {
        extend: 'Ext.data.Store',    requires: [
            'Ext.data.proxy.Ajax',
            'Ext.data.reader.Json',
            'Ext.data.field.Field'
        ],    constructor: function(cfg) {
            var me = this;
            cfg = cfg || {};
            me.callParent([Ext.apply({
                storeId: 'RiskySQLStore',
                model: 'AADashboard.model.RiskySQLModel',
                autoLoad: true,
                data: [
    {totalCount:"1",
    topics:[
                       {
                           executeTime: "Thu Jul 07 13:31:19 CST 2011",
                           sqlContent: "SELECT T.SERV_PROV_CODE,T.STRING_KEY,T.STRING",
                           parameters: "",
                           spendTime: "2.125",
                           recordNumber: "0"
                       }
     ]
     }
                   ],
                  
                proxy: {
                    type: 'ajax',
                    reader: {
                        type: 'json',
                        rootProperty: 'topics',
                    totalProperty: 'totalCount'
                    }
                },
                fields: [
                    {
                        name: 'executeTime'
                    },
                    {
                        name: 'sqlContent'
                    },
                    {
                        name: 'parameters'
                    },
                    {
                        name: 'spendTime'
                    },
                    {
                        name: 'recordNumber'
                    }
                ]
            }, cfg)]);
        }
    });view.js的代码如下:
    {
                                        xtype: 'tabpanel',
                                        frame: true,
                                        itemId: 'MonitoringTabPanel',
                                        activeTab: 0,
                                        plain: true,
                                        tabPosition: 'bottom',
                                        items: [
                                            {
                                                xtype: 'gridpanel',
                                                autoScroll: true,
                                                itemId: 'RiskSQLMonitoringTab',
                                                title: 'Risk SQL',
                                                store: 'RiskySQLStore',
                                                loadMask: true,
                                                columns: [
                                                    {
                                                        xtype: 'datecolumn',
                                                        width: '6%',
                                                        dataIndex: 'executeTime',
                                                        text: 'Time'
                                                    },
                                                    {
                                                        xtype: 'gridcolumn',
                                                        dataIndex: 'sqlContent',
                                                        text: 'SQL',
                                                        flex: 1
                                                    },
                                                    {
                                                        xtype: 'gridcolumn',
                                                        width: '20%',
                                                        dataIndex: 'parameters',
                                                        text: 'Parameters'
                                                    },
                                                    {
                                                        xtype: 'gridcolumn',
                                                        width: '6%',
                                                        dataIndex: 'spendTime',
                                                        text: 'Spend Time'
                                                    },
                                                    {
                                                        xtype: 'gridcolumn',
                                                        width: '5%',
                                                        dataIndex: 'recordNumber',
                                                        text: 'Counts'
                                                    }
                                                ],
                                                dockedItems: [
                                                    {
                                                        xtype: 'pagingtoolbar',
                                                        dock: 'bottom',
                                                        itemId: 'riskySQLToolBar',
                                                        width: 360,
                                                        id:'riskySQLToolBar',
                                                        afterPageText: 'total {0} page',
                                                        beforePageText: 'Page number',
                                                        displayInfo: true,
                                                        emptyMsg: 'No datas to display',
                                                        store: 'RiskySQLStore',
                                                       
                                                        listeners: {
                                                            beforechange: 'onRiskySQLToolBarBeforeChange',
                                                            afterrender: 'onRiskySQLToolBarBeforeRender'
                                                        }
                                                    }
                                                ]
                                            },如果我的store.js修改如下:
    Ext.define('AADashboard.store.RiskySQLStore', {
        extend: 'Ext.data.Store',    requires: [
            'Ext.data.proxy.Ajax',
            'Ext.data.reader.Json',
            'Ext.data.field.Field'
        ],    constructor: function(cfg) {
            var me = this;
            cfg = cfg || {};
            me.callParent([Ext.apply({
                storeId: 'RiskySQLStore',
                model: 'AADashboard.model.RiskySQLModel',
                autoLoad: true,
                data:[
                       {
                           executeTime: "Thu Jul 07 13:31:19 CST 2011",
                           sqlContent: "SELECT T.SERV_PROV_CODE,T.STRING_KEY,T.STRING_VAL",
                           parameters: "",
                           spendTime: "2.125",
                           recordNumber: "0"
                       }
     ]
    ,
                   /*pageSize:40,
           autoLoad: {
            start: 0,
            limit: 40
            },*/
                proxy: {
                    type: 'ajax',
                    reader: {
                        type: 'json',
                        rootProperty: 'topics',
                    totalProperty: 'totalCount'
                    }
                },
                fields: [
                    {
                        name: 'executeTime'
                    },
                    {
                        name: 'sqlContent'
                    },
                    {
                        name: 'parameters'
                    },
                    {
                        name: 'spendTime'
                    },
                    {
                        name: 'recordNumber'
                    }
                ]
            }, cfg)]);
        }
    });
    就能在gridpanel中显示数据,但分页toolbar里没有数据。也就是分页失败。
      

  6.   

    json字符串不是要eval("("+data+")")这样的么?
      

  7.   

    这个跟eval关系应该不大,因为一个能显示数据出来虽然分页有问题。
    为什么这个不可以data: [
    {totalCount:"1",
    topics:[
                       {
                           executeTime: "Thu Jul 07 13:31:19 CST 2011",
                           sqlContent: "SELECT T.SERV_PROV_CODE,T.STRING_KEY,T.STRING",
                           parameters: "",
                           spendTime: "2.125",
                           recordNumber: "0"
                       }
     ]但这个可以显示数据data:[
                       {
                           executeTime: "Thu Jul 07 13:31:19 CST 2011",
                           sqlContent: "SELECT T.SERV_PROV_CODE,T.STRING_KEY,T.STRING_VAL",
                           parameters: "",
                           spendTime: "2.125",
                           recordNumber: "0"
                       }
     ]当然两个都不能分页。