likun_xiaoxia
2010-01-12 14:43
浏览 276

一个简单的 extjs GridPanel 无法显示

Ext.onReady(function() {

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

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

        ];

        var ds = new Ext.data.Store({
                    proxy : new Ext.data.MemoryProxy(data),//The Proxy object which provides access to a data object
                    reader : new Ext.data.ArrayReader({}, [{ //The Reader object which processes the data object and returns an Array of Ext.data.record objects
                                                             // which are cached keyed by their id property.
                                        name : 'id',
                                        mapping: 0
                                    }, {
                                        name : 'name',
                                        mapping:1
                                    }, {
                                        name : 'desc',
                                        mapping:2
                                    }])
                });
        ds.load();


        var grid = new Ext.grid.GridPanel({
                    el : 'grid',   //对应页面的<div id="grid"></div>
                    ds : ds,
                    cm : cm

                });
        grid.render ();

});

就这么一个简单的小例子 可是在页面就显示一个条 请问原因

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • xkuff 2010-01-12 17:54
    已采纳

    根据红色的部份去修改就可以了:
    Ext.onReady(function() {

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

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

    ];

    var ds = new Ext.data.Store({
    proxy : new Ext.data.MemoryProxy(data),//The Proxy object which provides access to a data object
    reader : new Ext.data.ArrayReader({}, [{ //The Reader object which processes the data object and returns an Array of Ext.data.record objects
    // which are cached keyed by their id property.
    name : 'id',
    mapping: 0
    }, {
    name : 'name',
    mapping:1
    }, {
    name : 'desc',
    mapping:2
    }])
    });
    ds.load();

    var grid = new Ext.grid.GridPanel({
    el : 'grid', //对应页面的


    ds : ds,
    cm : cm[color=red],
    width:320,
    height:200[/color]
    });
    grid.render ();

    });

    点赞 评论
  • CaiHuajiang 2010-01-12 14:49

    var grid = new Ext.grid.GridPanel({
    el : 'grid', //对应页面的


    ds : ds,
    cm : cm,
    width:200,
    height:300
    });
    试试,应该是计算不出高度的原因
    点赞 评论
  • fming09 2010-01-12 15:24

    没设置高度的原因
    var grid = new Ext.grid.GridPanel({
    el : 'grid', //对应页面的


    ds : ds,
    cm : cm,
    height: 500
    });
    点赞 评论
  • zhoujuan520 2010-01-12 16:22

    这个应该属于布局原因
    尝试放到viewport里面,采用layout:'fit'来自动适应 或者设定grid为指定高度

    点赞 评论
  • chanball 2010-01-14 13:02

    去掉ds.load();

    点赞 评论

相关推荐 更多相似问题