日期:2014-05-17  浏览次数:20775 次

Extjs4 Grid不显示数据
列能出来就是数据显示不出来
JScript code

    Ext.require([
        'Ext.grid.*',
        'Ext.data.*',
        'Ext.toolbar.Paging'
    ]);
        Ext.define('MyData',{
            extend: 'Ext.data.Model',
            fields: [
                //第一个字段需要指定mapping,其他字段,可以省略掉。
                {name:'UserName',mapping:'UserName'},
                 'Sex',
                 'Age',
                 'XueHao',
                 'BanJi'
            ]
        }); 
        //创建数据源
       Ext.define('store',{ 
               extend: 'Ext.data.Store', 
            model: '',
            proxy: {
               //异步获取数据,这里的URL可以改为任何动态页面,只要返回JSON数据即可
                type: 'ajax',
                url: 'mydata.json',
                reader: {
                    type: 'json',
                    root: 'items' 
                }
            },
            constructor: function(config) {
                    this.model = Ext.create('MyData');
                    this.callParent(arguments);
                    
            } ,
            autoLoad: true
        });
        
        //创建Grid
        Ext.define('etb.grid',{ extend:'Ext.grid.Panel',
            store: "",
            columns: [
                {text: "姓名", width: 120, dataIndex: 'UserName', sortable: true},
                {text: "性别", flex: 1, dataIndex: 'Sex', sortable: false},
                {text: "年龄", width: 100, dataIndex: 'Age', sortable: true},
                {text: "学号", width: 100, dataIndex: 'XueHao', sortable: true},
                {text: "班级", width: 100, dataIndex: 'BanJi', sortable: true}
            ],
            constructor: function(config) {
                  
                    this.store = Ext.create('store');
     
                    this.callParent(arguments);
                    
            }  
        }) ;
   Ext.onReady(function(){
           var g = Ext.create("etb.grid"); 
           g.render("t");
   })



------解决方案--------------------
好把 和ext3写法完全不一样哎 
不懂
------解决方案--------------------
以前一直用ext3,最近也刚开始接触 ext4 。

问一下你的 mydata.json 是什么?
------解决方案--------------------
JScript code

Ext.require([
             'Ext.grid.*',
             'Ext.data.*',
             'Ext.toolbar.Paging'
         ]);

Ext.onReady(function(){
    Ext.define('MyData',{
        extend: 'Ext.data.Model',
        fields: [
            //第一个字段需要指定mapping,其他字段,可以省略掉。
            {name:'UserName',mapping:'UserName'},
             'Sex',
             'Age',
             'XueHao',
             'BanJi'
        ]
    }); 
                
    var myStore = Ext.create('Ext.data.Store',{
        model: 'MyData',
        proxy: {
            type: 'ajax',
            url : 'mydata.json',
            reader: {
                type: 'json',
                root: 'items'
            }
        },
        autoLoad: true
    });
          
     var grid = Ext.create('Ext.grid.Panel',{
         store: myStore,
         height:300,
         columns: [
             {text: "姓名", width: 120, dataIndex: 'UserName', sortable: true},
             {text: "性别", flex: 1, dataIndex: 'Sex', sortable: false},
             {text: "年龄", width: 100, dataIndex: 'Age', sortable: true},
             {text: "学号", width: 100, dataIndex: 'XueHao', sortable: true},
             {text: "班级", width: 100, dataIndex: 'BanJi', sortable: true}
         ],
         renderTo:'t'
     }); 
})

------解决方案--------------------
JScript code

Ext.require([
             'Ext.grid.*',
             'Ext.data.*',
             'Ext.toolbar.Paging