六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 26|回复: 0

Ext grid 动态表头的例子

[复制链接]

升级  12%

18

主题

18

主题

18

主题

秀才

Rank: 2

积分
68
 楼主| 发表于 2013-1-23 02:13:40 | 显示全部楼层 |阅读模式
1.Ext.onReady(function(){   2.//header也就是你应该从后台取回的表头数据,现在写死在了这里   3.        var headers = [{name: 'company',header:'Company'},{name: 'price',header:'Price'},{name: 'change',header:'change'}]   4.    var store = new Ext.data.SimpleStore({   5.        fields: headers   6.    });   7.    var columns = [];   8.    Ext.each(headers,function(h){   9.        columns.push({   10.           header:h.header,   11.           dataIndex:h.name   12.           });   13.    });   14.  15.    var grid = new Ext.grid.GridPanel({   16.        store: store,   17.        columns: columns,   18.        stripeRows: true,   19.        height:350,   20.        width:600,   21.        title:'Array Grid'  22.    });   23.  24.    grid.render('grid');   25.});   上面从后台取表头的时候应该用同步方法调用后台,而不是用异步,如果用异步的话,会出现你还没拿到后台的表头数据就实例化了grid.
给你个同步请求的方法:
1.var syncRequest = function(url) {   2.        var conn = Ext.lib.Ajax.getConnectionObject().conn;   3.        try {   4.            conn.open("GET", url, false);   5.            conn.send(null);   6.        } catch (e) {   7.            Ext.Msg.alert('info','error');   8.            return false;   9.        }   10.        return Ext.decode(conn.responseText);   11.    }   12.//把上面的headers改为   13.var headers = syncRequest(url);   14.后台的返回数据为headers的内容就行啦   
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表