解决方案 »

  1.   

    用ext的ajax先请求你的url得到columns,然后在创建grid不过没什么意思。。多增加服务器负担。。
      

  2.   

    你好 :
    首先:columns 和store里的fields不完全相同也可以(columns里的dataIndex 只需要是fields的子集即可)
    =========
    要么在前台直接配置store和columns ,
    楼主觉得太麻烦,
    那就放在后台来组fields和columns,前台通过url请求到,然后再配置到grid里面,
    这样前台只需要做一个gridpanel,store的“架子”即可。(将请求过来的东西配置上去就可以了)
    当然也得根据你提供的url返回的是啥,前后台的协议是啥。写在后面的话:如果你的表结构很复杂,例如合并表头的啥的,后台组织store稍微有点麻烦,可以指定一个前后台的转换协议(效率略低,如果有必要的话,可以这么做)。
    如果按照第二种做的话,注意每次清空grid的store 。
      

  3.   

    已实现,可以结贴了。
    思路:重写grid,
    BasicGrid = Ext.extend(Ext.grid.GridPanel, {
    columns : null,//列,需要重新传入
    // 获取数据的URL
    url : '',
    })
    然后是将传入的columns 进行封装,可以生成model,根据url,采用store的代理方式,可以创建store.
    最后把store赋值给grid。完成