当前位置: 代码迷 >> Web前端 >> Ext grid 动态表头的例证
  详细解决方案

Ext grid 动态表头的例证

热度:79   发布时间:2012-11-23 22:54:33.0
Ext grid 动态表头的例子
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的内容就行啦  

?

  相关解决方案