myjoan 发表于 2013-1-29 12:07:43

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的内容就行啦 
页: [1]
查看完整版本: Ext grid 动态表头的例子